This page explains how to request the user’s permission for your application to access data on the device or use a device feature such as a built-in camera or microphone.
権限のリクエストに関する Google のガイドラインでは、ユーザーが権限のリクエストを一旦拒否した場合は、リクエストの理由を表示し、リクエストを再度提示することを推奨しています。
For more information on when and how you should request permissions on an Android device, see App permissions best practices in the Android developer guide.
ランタイム権限 API を使用するには、Android バージョン 6 (API レベル 23) が必要です。アプリケーションのターゲット API の変更は、以下の手順で行ってください。
Before the application requests permission to use restricted data or a particular device feature, it must declare the permission in its Android App Manifest. For more information, see Declare permissions for an application.
Android.Permission API は、アプリケーションが現在持っている権限の確認や、アプリケーションが必要としていてまだ持っていない権限のリクエストに使用できる機能を提供します。
実行時の権限をリクエストする大まかなプロセスは、以下の通りです。
Permission.HasUserAuthorizedPermission を使用して、アプリケーションの必要とするデータや機能に関する権限が、既にユーザーによって付与されているかどうか確認できます。
For a code sample that shows how to use this API, see Permission.HasUserAuthorizedPermission.
データや機能の使用権限をリクエストするには Permission.RequestUserPermission を使用します。このメソッドを呼び出すと、Android によってシステム権限ダイアログが開かれ、ユーザーはこれを使用して権限リクエストを承認あるいは拒否できます。
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.
For a code sample that shows how to use this API, see Permission.RequestUserPermission.
ヒント: 権限をリクエストする際には、ユーザーに対して、アプリケーションがなぜその機能を必要とするのかを説明するメッセージを表示することが推奨されます。
Note: If the user previously checked the Do not ask me again option on the system permission dialog, or has denied the permission more than once, RequestUserPermission()
doesn’t open the system dialog. In this case, the user must go into the application permission settings and manually turn on the permission.
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.