LoginSignup
11
5

More than 3 years have passed since last update.

Android10,Android11のファイルパーミッション

Last updated at Posted at 2021-02-08

パーミッション

また変更されてんのか...

manifest.xmlに次の宣言を入れる。レガシーのパーミッションを有効にする。
android:requestLegacyExternalStorage="true" >

preserveLegacyExternalStorage

preserveLegacyExternalStorage フラグを使用して以前のストレージ モデルを保持し、ユーザーが Android 11 をターゲットとするアプリの新しいバージョンにアップグレードする際に、ユーザーのデータを移行できるようにします。

データ移行関係、まぎわらしい。

Androidのファイルアクセスの混乱

俺もそう思う、このへん決めてるやつアホなのか。過去のしがらみでせざるを得ないのか...

Android 11から変更される模様。
https://developer.android.com/preview/privacy/storage#all-files-access
-Android 4.4 SDCARDへの書き込みが禁止
-Android 5.0 SDCARDへの書き込みはStorage Access Frameworkで行えるようになった(READはJava File APIで可能)
-Android 10 内部ストレージと外部ストレージの両方でアプリ固有ディレクトリー以外はJava File APIによるアクセス不可となった。Storage Access Frameworkを使用すれば全てのファイルにアクセス可能。
-Android 11 アプリ固有ディレクトリー以外のファイルアクセスはMANAGE_EXTERNAL_STORAGE 権限を許可することでJava File APIで可能になる模様。(ACTION_OPEN_DOCUMENT_TREEでは外部ストレージと内部ストレージのルートが指定できなくなった)Scoped Storage対応でアプリをSAFに書き換えたのだが、 Android11では無駄になった模様!!何をしたいのか不明で、混乱させているようにしか思えない!!

参考

Android 11 でのストレージに関する更新

Android 10 デバイスで稼働するアプリが対象範囲別ストレージを無効にする場合、アプリのマニフェスト ファイルで引き続き requestLegacyExternalStorage を true に設定することが推奨されます。それにより、Android 10 を搭載するデバイスで引き続きアプリが想定どおりに動作できます。

Android11 - Storage(ストレージ)の変更まとめ

Quest2でファイルが参照できない問題の解決法

Quest2はAndroid10
Pixel5はAndroid11

検索用

11
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
5