Android権限
816 ワード
Android 6.0分水嶺
Android 6.0(API 23)が開始し、危険レベルの権限(ユーザーのプライバシーデータに関する)は、対応する論理操作を実行するときにのみ、ユーザーの許可を要求することを通知します.
targetSdkValerson<23の場合、Appはインストール時にすべての権限を取得しますが、6.0システムではユーザーが手動でapp権限許可を設定できます.
targetSdkValerson>=23の場合、Appは依然として必要なすべての権限を宣言する必要があるが、6.0システムでは、Appのインストール時に通常の権限のみを自動的に許可し、危険な権限は必要な権限の論理実行前にユーザーに権限を申請する必要がある.
参照:システム権限アドバイザ
承認の申請
第三者ライブラリPermissionsDispatcherを使用して、パーミッション申請ロジックを注釈で自動的かつ迅速に実行することもできます.パーミッション名文字列は、
Android 6.0(API 23)が開始し、危険レベルの権限(ユーザーのプライバシーデータに関する)は、対応する論理操作を実行するときにのみ、ユーザーの許可を要求することを通知します.
targetSdkValerson<23の場合、Appはインストール時にすべての権限を取得しますが、6.0システムではユーザーが手動でapp権限許可を設定できます.
targetSdkValerson>=23の場合、Appは依然として必要なすべての権限を宣言する必要があるが、6.0システムでは、Appのインストール時に通常の権限のみを自動的に許可し、危険な権限は必要な権限の論理実行前にユーザーに権限を申請する必要がある.
参照:システム権限アドバイザ
承認の申請
PermissionChecker
またはContextCompat.checkSelfPermission
メソッドを使用して、ある権限付与ステータスを問合せ、ActivityCompat.requestPermissions、shouldShowRequestPermissionRationale
メソッドに従って権限付与を要求し、ユーザーに権限の用途を説明する必要があるかどうかを判断します.オーバーライドActivity.onRequestPermissionsResult
メソッドは、権限申請結果を受信します.第三者ライブラリPermissionsDispatcherを使用して、パーミッション申請ロジックを注釈で自動的かつ迅速に実行することもできます.パーミッション名文字列は、
Manifest.permission
オブジェクトから抽出できます.