[android] 안드로이드 권한 승인

안드로이드 앱을 개발할 때는 사용자의 개인정보와 기기 리소스에 접근하기 위해 권한이 필요합니다. 사용자가 앱의 기능을 올바르게 사용하려면 권한을 요청하고 승인을 받아야 합니다. 이 포스트에서는 안드로이드 앱에서 권한을 요청하고 승인을 받는 방법을 알아보겠습니다.

1. 권한 추가하기

안드로이드Manifest 파일에 권한을 추가하여 앱이 필요로 하는 권한을 명시합니다. 다음은 카메라 권한을 추가하는 예시입니다.

<uses-permission android:name="android.permission.CAMERA" />

위 코드를 Manifest 파일의 <manifest> 태그 안에 추가합니다.

2. 권한 확인하기

앱이 실행될 때, 필요한 권한이 승인되어 있는지 확인해야 합니다. 권한이 승인되어 있지 않다면 사용자에게 권한을 요청해야 합니다. 권한이 승인되어 있는지 확인하는 예시 코드는 다음과 같습니다.

if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
    // 권한이 승인되어 있지 않음, 권한 요청
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, CAMERA_PERMISSION_REQUEST_CODE);
} else {
    // 권한이 승인되어 있음, 권한이 필요한 기능 수행
}

3. 권한 요청 처리하기

사용자에게 권한을 요청하면 시스템이 권한 요청 다이얼로그를 보여줍니다. 사용자가 권한을 승인하거나 거부하면 시스템은 onRequestPermissionsResult 콜백을 호출합니다. 이 콜백에서 사용자의 응답을 처리합니다.

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    if (requestCode == CAMERA_PERMISSION_REQUEST_CODE) {
        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // 권한이 승인되었을 때 수행할 작업
        } else {
            // 권한이 거부되었을 때 수행할 작업
        }
    }
}

앱이 권한을 승인 받는 방법에 대한 간단한 안내였습니다. 안드로이드 앱을 개발하면서 권한을 적절하게 관리하여 사용자 개인정보 보호 및 보안 측면에서 중요한 역할을 수행하도록 주의해야 합니다.

참고 문헌: