이 페이지에는 기기의 데이터에 액세스하거나 빌트인 카메라 또는 마이크와 같은 기기 기능을 사용하기 위해 애플리케이션에 사용자의 권한을 요청하는 방법을 설명합니다.
Google의 권한 요청 가이드라인에 따르면, 사용자가 최초로 권한 요청을 거부하는 경우 이러한 권한을 요청하는 이유를 표시하고 요청을 다시 표시하는 방법이 권장됩니다.
Android 기기에 권한을 요청하는 시기와 방법에 대한 자세한 내용은 Android 개발자 가이드의 App 권한 베스트 프랙티스를 참조하십시오.
런타임 권한 API에는 Android 버전 6(API 레벨 23)이 필요합니다. 애플리케이션의 타겟 API를 변경하려면 다음 단계를 따르십시오.
애플리케이션이 제한된 데이터나 특정 기기 기능을 사용하기 위해 권한을 요청하기 전에 해당 Android 앱 매니페스트에 권한을 반드시 선언해야 합니다. 자세한 내용은 애플리케이션에 대한 권한 선언을 참조하십시오.
Android.Permission API는 애플리케이션이 현재 가지고 있는 권한을 확인하고 애플리케이션에 필요하지만 가지고 있지는 않은 권한을 요청하는 데 사용할 수 있는 기능을 제공합니다.
런타임 시 권한을 요청하는 프로세스에 대한 개요는 다음과 같습니다.
Use Permission.HasUserAuthorizedPermission to check if the user has already granted permission for the data or feature the application requires.
이 API를 사용하는 방법을 표시하는 코드 샘플의 경우 Permission.HasUserAuthorizedPermission을 참조하십시오.
Use Permission.RequestUserPermission to request the permission to use the data or feature. When you call this method, Android opens the system permission dialog that the user can use to grant or deny the permission.
This method can accept a PermissionsCallbacks object that you can use to specify code to run after the user grants or denies the permission. You can use this to start using a device feature as soon as the user grants the permission request. For example, you can start recording from the microphone.
이 API를 사용하는 방법을 표시하는 코드 샘플의 경우 Permission.RequestUserPermission을 참조하십시오.
팁: 권한을 요청할 때 사용자에게 애플리케이션에 해당 기능이 필요한 이유를 설명하는 메시지를 표시하는 것이 가장 좋습니다.
참고: 사용자가 시스템 권한 다이얼로그에서 이전에 Do not ask me again 옵션을 확인한 경우 또는 권한을 한 번 이상 거부한 경우 RequestUserPermission()
은 시스템 다이얼로그를 열지 않습니다. 이런 경우에 사용자는 반드시 애플리케이션 권한 설정으로 들어가 수동으로 권한을 부여해야 합니다.
If the user denies the application the permission that the application requires, provide a way for the user to manually display the permission request dialogue. How to do this depends on the application, but one solution is to provide a button that calls Permission.RequestUserPermission.