[android] 안드로이드 권한 요청 다이얼로그

다이얼로그를 표시하여 사용자에게 권한을 요청하는 방법은 다음과 같습니다:

1. 권한 확인

앱이 특정 권한을 가지고 있는지 확인해야 합니다. 예를 들어, 카메라 권한을 가지고 있는지 확인하는 코드는 다음과 같습니다:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
    // 권한이 없는 경우, 권한을 요청하는 다이얼로그 표시
}

2. 권한 요청

권한이 없는 경우, 사용자에게 권한을 요청하는 다이얼로그를 표시해야 합니다. 아래 코드는 카메라 권한을 요청하는 다이얼로그를 표시하는 예제입니다:

ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, CAMERA_PERMISSION_REQUEST_CODE);

위 코드에서 CAMERA_PERMISSION_REQUEST_CODE는 권한 요청 결과를 구별하기 위한 코드입니다.

3. 권한 요청 결과 처리

사용자가 권한 요청 다이얼로그에 응답하면, 결과를 처리해야 합니다. 이는 onRequestPermissionsResult 메소드에서 처리할 수 있습니다:

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    if (requestCode == CAMERA_PERMISSION_REQUEST_CODE) {
        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // 권한이 허용된 경우
        } else {
            // 권한이 거부된 경우
        }
    }
}

위 코드에서 CAMERA_PERMISSION_REQUEST_CODE는 권한 요청 결과를 확인하는 데 사용했던 코드와 일치해야 합니다.

앱에서 사용자에게 권한을 요청하는 동작은 안드로이드 앱의 규정을 준수하여야 합니다. 권한을 필요한 만큼 요청하고, 사용자가 권한 요청 다이얼로그에 동의하거나 거부할 수 있도록 해야 합니다.

참고 자료