LoginSignup
3
2

More than 3 years have passed since last update.

Storage in Android11 Developer Preview

Posted at

この記事は

https://developer.android.com/preview/overview
https://developer.android.com/preview/behavior-changes-all
こちらを読めば済むことを気になったことだけ書いています。必ず最新の内容を確認してください。

また、ストレージ周りの変更については2019のDevSummitにて同様の話がほぼされています。

リリース時期

Milestone Timeline Note
Developer Preview 2月〜4月
Beta Release 5月〜7月頃? Beta2(Final APIs and behaviors)は6月
Final Release 8月〜9月頃? Android10のリリースは9月第二週

全OS対象の変更

対象別ストレージ

Android10から物議を醸しているストレージ構造の抜本的変更

  • requestLegacyExternalStorageはAPI29以下では継続して利用可能だが、30以上からは利用不可になる。
    • GooglePlayのAPIレベル要件の更新は例年11/1。現在は28であるため、実質の対応期限は2021/11/1の予想。

全ファイルアクセス権限付与

  • MANAGE_EXTERNAL_STORAGE permissionを宣言することで、ユーザに権限を求めることができる。
  • 共有ストレージ内の全てのファイルに対するread|write権限、及びMediaStoreのテーブルへのアクセス権限が付与される。
  • Googleの申告フォームに申請し、ホワイトリストに載ることで初めて宣言が可能となる。
    • 「Googleが知る限りではファイルマネージャなど・・・」と言っているので、なんらかの審査があるらしい
    • 今後のdeveloper previewにて申請方法が開示される予定

ディレクトリアクセス制限

  • ACTION_OPEN_DOCUMENT もしくは ACTION_OPEN_DOCUMENT_TREE を用いて特定のディレクトリにアクセス出来なくなる
  • アプリの固有ディレクトリ(android/data等)
    • 権限を付与する必要無く、アプリ固有ディレクトリ内のファイルには最初からアクセス可能になっているためで、弊害はない。
  • downloads
    • 全体が選べなくなるだけで、downloads/以下のディレクトリを個別に指定することは可能。
  • SDカードのルートディレクトリ
    • おそらく全ファイルアクセス権限付与でカバーされるため?

ファイルパスやネイティブライブラリを使ったアクセス

  • 直接のファイルパスを使ってファイルにアクセスすることが可能となる
    • 詳細不明。今まではExternalStorageからパスが取れたけどMediaStoreを使わない直パスってScopedStorage以降どうなってるのか、そもそもdataからフルパス取れなくなった時点で使い勝手がかなりめんどくさいことになってるはずだしああああああああああ

所感

ファイルマネージャ系アプリ用に強い権限が入った以外、そこまでAndroid10と変わりないんじゃないでしょうか。直パスの使い勝手次第・・・?

3
2
1

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
3
2