この記事は
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と変わりないんじゃないでしょうか。直パスの使い勝手次第・・・?