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

안드로이드 앱을 개발할 때 사용자의 권한을 확인하는 것은 매우 중요합니다. 앱이 접근할 수 있는 기기의 기능을 제한하고 사용자의 개인정보를 보호하기 위해서는 사용자로부터 권한 동의를 받아야 합니다. 이 포스트에서는 안드로이드 앱에서 권한을 확인하는 방법에 대해 알아보겠습니다.

1. 안드로이드 매니페스트 파일에서 권한 명시하기

안드로이드 앱을 개발할 때는 앱이 사용할 권한을 안드로이드 매니페스트 파일에 명시해야 합니다. 이를 통해 앱이 필요한 권한을 미리 사용자에게 안내할 수 있습니다.

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

2. 런타임 권한 요청하기

안드로이드 6.0 (마시멜로) 버전부터는 앱이 권한을 사용하는 시기에 사용자에게 권한을 요청해야 합니다. 사용자가 앱을 실행하고 해당 기능을 사용하려 할 때 권한을 요청하는 코드를 추가해야 합니다.

if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, CAMERA_PERMISSION_REQUEST_CODE);
}

3. 권한 확인 결과 처리하기

권한 요청 후 사용자가 동의하거나 거부한 결과를 처리해야 합니다.

@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 {
            // 권한이 거부된 경우
        }
    }
}

앱이 안전하게 사용자의 개인정보를 처리하고 적절한 권한을 요청하는 것은 사용자의 신뢰를 얻는 데 중요합니다. 올바른 권한 관리는 안드로이드 앱의 사용성과 보안성을 높일 수 있습니다.

참고 자료