[Android] 위치 권한 요청

2023. 2. 20. 13:37정리

반응형

안드로이드 앱에서 위치 권한을 요청하는 코드는 다음과 같습니다.

위 코드는 ACCESS_FINE_LOCATION(정확한 위치 정보에 대한 액세스) 권한을 요청하는 예제입니다. 사용자가 권한을 허용하거나 거부할 때마다 onRequestPermissionsResult() 함수가 호출됩니다. 권한이 허용되면 해당 권한을 사용하여 위치 정보를 가져오는 코드를 실행할 수 있습니다. 권한이 거부되면 해당 권한을 사용하여 위치 정보를 가져올 수 없습니다.

위치 권한은 사용자의 개인정보이기 때문에, 권한 요청 전에 사용자에게 권한이 필요한 이유와 어떻게 사용되는지를 명확하게 설명해야 합니다.

 

// 위치 권한 요청 코드
private static final int LOCATION_PERMISSION_REQUEST_CODE = 100;

// 위치 권한 요청 함수
private void requestLocationPermission() {
    if (ContextCompat.checkSelfPermission(this,
            Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
        // 권한이 이미 허용되었을 경우
        // 권한을 사용하여 위치 정보를 가져오는 코드를 실행할 수 있습니다.
        // ...
    } else {
        // 권한이 없는 경우, 사용자에게 권한을 요청합니다.
        ActivityCompat.requestPermissions(this,
                new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
                LOCATION_PERMISSION_REQUEST_CODE);
    }
}

// 권한 요청 결과 처리 함수
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    switch (requestCode) {
        case LOCATION_PERMISSION_REQUEST_CODE:
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                // 권한이 허용되었을 경우
                // 권한을 사용하여 위치 정보를 가져오는 코드를 실행할 수 있습니다.
                // ...
            } else {
                // 권한이 거부되었을 경우
                // 권한이 없는 상태에서는 위치 정보를 가져올 수 없습니다.
            }
            break;
        default:
            break;
    }
}

반응형