Android M Permission-Groupの大抜擢
今回のパミッション周りの一つの大きな特徴として、今まで何も役に立っていなかったパミッショングループが、大抜擢され、重要な役割を得るようになった事があげられます。
Android M Developer Previewのパミッション周りの変更解説として、今回はパミッショングループについて解説したいと思います。
ブログの過去の記事「Android OS 4.2のPermission Groupの変更点」を見てみると、この時パミッショングループの大幅改編がされ、12個だったパミッショングループが24個になり大幅変更、しかしながら以下のような記載が…
「これで、何かの具体的な意味はなくなり、パミッショングループは只の情報でしかなくなりました。」
元々殆ど意味がなかったんですが、整理してさらに意味がなくなったので時期変更に向けての準備か?なんてうがった予想も立てたのですが、そのまま放置されつづけ、今回仕様変更となりました。
大抜擢されたのですが、なんと、大量にパミッショングループが削除されてしまいました。
抹殺されたパミッショングループ達
android.permission-group.ACCESSIBILITY_FEATURES
android.permission-group.AFFECTS_BATTERY
android.permission-group.APP_INFO
android.permission-group.AUDIO_SETTINGS
android.permission-group.BLUETOOTH_NETWORK
android.permission-group.COST_MONEY
android.permission-group.DEVELOPMENT_TOOLS
android.permission-group.DEVICE_ALARMS
android.permission-group.DISPLAY
android.permission-group.HARDWARE_CONTROLS
android.permission-group.MESSAGES
android.permission-group.NETWORK
android.permission-group.PERSONAL_INFO
android.permission-group.PHONE_CALLS
android.permission-group.SCREENLOCK
android.permission-group.STATUS_BAR
android.permission-group.STORAGE
android.permission-group.SYNC_SETTINGS
android.permission-group.SYSTEM_CLOCK
android.permission-group.SYSTEM_TOOLS
android.permission-group.VOICEMAIL
android.permission-group.WALLPAPER
android.permission-group.WRITE_USER_DICTIONARY
計23個リストラされました。
そして生き残ったパミッショングループ8個
android.permission-group.ACCOUNTS
android.permission-group.BOOKMARKS
android.permission-group.CALENDAR
android.permission-group.CAMERA
android.permission-group.LOCATION
android.permission-group.MICROPHONE
android.permission-group.SOCIAL_INFO
android.permission-group.USER_DICTIONARY
そして追加されたパミッショングループ4個
android.permission-group.CONTACTS
android.permission-group.PHONE
android.permission-group.SENSORS
android.permission-group.SMS
もう過去は捨てて再設計です。潔いとも言えますが、いっそ、パミッショングループを継続使用するんじゃなくて、新しいの作ればいいのにと思うぐらいです。
パミッショングループと所属するパミッション
さて、12個に整理されたパミッショングループですが、前回の超訳したAndroidPermissionでは8個しか紹介されてません。
残りの4個は以下のものです。
android.permission-group.ACCOUNTS
android.permission-group.BOOKMARKS
android.permission-group.SOCIAL_INFO
android.permission-group.USER_DICTIONARY
抜けがあったので、今回は全てのパミッショングループについて、どのパミッションが所属しているかを確認してみました。
Permission Group | Permissions |
---|---|
android.permission-group.CALENDAR |
|
android.permission-group.CAMERA |
|
android.permission-group.CONTACTS |
|
android.permission-group.LOCATION |
|
android.permission-group.MICROPHONE |
|
android.permission-group.PHONE |
|
android.permission-group.SENSORS |
|
android.permission-group.SMS |
|
android.permission-group.BOOKMARKS |
|
android.permission-group.SOCIAL_INFO |
|
android.permission-group.USER_DICTIONARY |
|
android.permission-group.ACCOUNTS |
|
※一般のアプリでは使用できないprotection level-signature(システム署名)のパミッションは除外しました。
解説ページに4つのパミッショングループが記載されていなかったのは、com.google系のパミッションが殆ど所属するからあまり書きたくなかったのか、紙面の都合からなのか、まぁそんな感じですが、特に意味はなさそうでした。正式リリース後に再確認すればいい感じです。
グループに所属しないパミッション
Android Developer Previewのパミッショングループと、それに所属するパミッションを洗い出しましたが、パミッショングループに所属しないパミッションが52個ありました。
大量なので、ここに記載するか迷いましたが、後で自分が見るのに便利なので書いておきます。
name | protectionLevel |
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS | normal |
android.permission.ACCESS_NETWORK_STATE | normal |
android.permission.ACCESS_WIFI_STATE | normal |
android.permission.ACCESS_WIMAX_STATE | normal |
android.permission.BLUETOOTH | dangerous |
android.permission.BLUETOOTH_ADMIN | dangerous |
android.permission.BROADCAST_STICKY | normal |
android.permission.CHANGE_NETWORK_STATE | normal |
android.permission.CHANGE_WIFI_MULTICAST_STATE | dangerous |
android.permission.CHANGE_WIFI_STATE | dangerous |
android.permission.CHANGE_WIMAX_STATE | dangerous |
android.permission.CLEAR_APP_CACHE | dangerous |
android.permission.DISABLE_KEYGUARD | normal |
android.permission.EXPAND_STATUS_BAR | normal |
android.permission.FLASHLIGHT | normal |
android.permission.GET_PACKAGE_SIZE | normal |
android.permission.GET_TASKS | normal |
android.permission.INTERNET | normal |
android.permission.KILL_BACKGROUND_PROCESSES | normal |
android.permission.MODIFY_AUDIO_SETTINGS | normal |
android.permission.NFC | normal |
android.permission.PERSISTENT_ACTIVITY | normal |
android.permission.READ_EXTERNAL_STORAGE | normal |
android.permission.READ_INSTALL_SESSIONS | normal |
android.permission.READ_SYNC_SETTINGS | normal |
android.permission.READ_SYNC_STATS | normal |
android.permission.RECEIVE_BOOT_COMPLETED | normal |
android.permission.REORDER_TASKS | normal |
android.permission.RESTART_PACKAGES | normal |
android.permission.SET_TIME_ZONE | normal |
android.permission.SET_WALLPAPER | normal |
android.permission.SET_WALLPAPER_HINTS | normal |
android.permission.SUBSCRIBED_FEEDS_READ | normal |
android.permission.SUBSCRIBED_FEEDS_WRITE | dangerous |
android.permission.SYSTEM_ALERT_WINDOW | dangerous |
android.permission.TRANSMIT_IR | normal |
android.permission.VIBRATE | normal |
android.permission.WAKE_LOCK | normal |
android.permission.WRITE_EXTERNAL_STORAGE | normal |
android.permission.WRITE_SETTINGS | normal |
android.permission.WRITE_SYNC_SETTINGS | normal |
com.android.alarm.permission.SET_ALARM | normal |
com.android.launcher.permission.INSTALL_SHORTCUT | dangerous |
com.android.launcher.permission.UNINSTALL_SHORTCUT | dangerous |
com.motorola.permission.RECEIVE_APP_DIRECTED_SMS | normal |
com.google.android.gms.permission.AD_ID_NOTIFICATION | normal |
com.google.android.gms.permission.CAR_FUEL | dangerous |
com.google.android.gms.permission.CAR_MILEAGE | dangerous |
com.google.android.gms.permission.CAR_SPEED | dangerous |
com.google.android.gms.permission.CAR_VENDOR_EXTENSION | dangerous |
com.google.android.portable.permission.READ | normal |
com.motorola.ims.permission.PRESENCE_ACCESS | normal |
Normal Permissionはともかくdangerous はグループに入れなきゃダメでしょと思うんですが、この辺りはDeveloper Preview だからでしょう、良く使われるパミッションもありますし、正式バージョンが出たらまた調査したいと思います。
コピペばかりになってしまいましたが、さて、ここからパミッショングループの動作について、記載しようと思いましたが、無駄にリストばかりで読みにくくなりましたので、次回記事としたいと思います。
コメント
コメントを投稿