最終更新:2021-12-27 (月) 15:53:36 (850d)
Android/パーミッション
ドキュメント
トレーニング
- システム パーミッションの使用
- アプリ パーミッションのベスト プラクティス
APIガイド
- システム パーミッション (日)
- System Permissions (英)
マニフェストに書くとき
クラス
メモ
- Androidは特権分離されたオペレーティング システムであり、各アプリは個別のシステム ID(Linux ユーザー ID とグループ ID)で動作します。
ファイルアクセス
- アプリで保存したデータにはすべて、そのアプリのユーザー ID が付与され、他のパッケージからは通常アクセスできません。Context.getSharedPreferences(String, int)、Context.openFileOutput(String, int)、Context.openOrCreateDatabase?(String, int, SQLiteDatabase?.CursorFactory?) を使用してファイルを新規作成する場合には、Context.MODE_WORLD_READABLE や Context.MODE_WORLD_WRITEABLE? フラグを使って、他のパッケージからファイルの読み取りや書き込みができるようにしてください。
動作
Android 6.0(API レベル 23)以降の端末で、かつアプリの targetSdkVersion が 23 以降の場合
- アプリは実行時にユーザーに対してパーミッション要求します。
Android 5.1(API レベル 22)以前の端末、またはアプリの targetSdkVersion が 22 以前の場合
- ユーザーはアプリをインストールするときにパーミッションの付与を求められます。アップデートしたアプリに新たなパーミッションが追加されている場合、ユーザーはアップデート時にパーミッションを付与するよう求められます。
- いったんユーザーがアプリをインストールすると、パーミッションを取り消すには、アプリをアンインストールするしかありません。
指定
Android 6.0
- Runtime Permissions - new permissions model
- https://developer.android.com/training/permissions/requesting.html?hl=ja
- システム パーミッションは、Normal と Dangerous の 2 つのカテゴリに分けられます。
Android/Normalパーミッション
- マニフェストに Normal パーミッションが記述されている場合、このパーミッションは自動的に付与されます。
Android/Dangerousパーミッション
- Dangerous パーミッションがリストされている場合、ユーザーは、アプリに明示的な承認を与える必要があります。
メモ
- sharedUserId?