FeeeeeLog (フィーログ)

Androidアプリ開発に夢中

*

Android 6.0からリクエストが必要なパーミッション一覧 (Dangerous Permissions)

      2016/05/17

Android6.0からPermissionsの概念が変わりました。
今までは、Manifest.xmlに<uses-permission>を記述すればインストール時に権限がアプリに付与されていました。しかし、6.0からは権限によっては実行時に権限の有無をチェックし、必要に応じて権限をリクエストするなどの処理が必要です。

こんにちは、FeeeeeLogです。

スポンサーリンク

6.0以降で重要な権限の種類

システム権限はいくつかのレベルに分かれています。その中で2つの重要なレベルが次の2つです。

Normal Permissions

今まで通りManifest.xmlに記述することでアプリが権限を取得できます。

Dangerous Permissions

次の2つの条件を満たす場合は、Dangerous Permissionのリクエストが必要です。

  • Anroid6.0(APIレベル23)以上
  • アプリのtargetSdkVersionが23以上

Dangerous Permissions / Permission Groupsの一覧

Dangerous PermissionはPermission Groupに所属しています。
Permission Group単位で権限が管理されています。例えば、Permission Group「CALENDAR」のPermission「READ_CALENDAR」をアプリがリクエストし、ユーザーが許可したとします。その場合、同一Permission GroupにあるPermission「WRITE_CALENDER」も権限が付与されます。

Permission Group (Manifest.permission_group) Dangerous Permissions (Manifest.permission)
CALENDAR READ_CALENDAR
WRITE_CALENDAR
CAMERA CAMERA
CONTACTS READ_CONTACTS
WRITE_CONTACTS
GET_ACCOUNTS
LOCATION ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
MICROPHONE RECORD_AUDIO
PHONE READ_PHONE_STATE
CALL_PHONE
READ_CALL_LOG
WRITE_CALL_LOG
ADD_VOICEMAIL
USE_SIP
PROCESS_OUTGOING_CALLS
SENSORS BODY_SENSORS
SMS SEND_SMS
RECEIVE_SMS
READ_SMS
RECEIVE_WAP_PUSH
RECEIVE_MMS
STORAGE READ_EXTERNAL_STORAGE
WRITE_EXTERNAL_STORAGE

参照:公式のPermission Group「http://developer.android.com/intl/ja/guide/topics/security/permissions.html#perm-groups

APIレベル23のNormal Permission一覧

6.0以上でDengerous Permissionが必要な場合どういう実装をすればよいか

公式サイトのトレーニング資料です。
こちらを参照してください。「Requesting Permissions at Run Time

詳細な記事は後日書きます。

 - Android