Android 13 対応
Closed this issue · 4 comments
https://developer.android.com/about/versions/13?hl=ja
例年通りなら、2023年10月31日までに対応を完了させる必要がある。
TODO
- Android 12 対応を完了させる (#286)
- リリースノートを読む
- 通知に関する実行時の権限
- きめ細かいメディア権限
動作の変更点: すべてのアプリ
通知に関する実行時の権限
dangerous permission POST_NOTIFICATIONS
が追加された。
targetSdkVersion 32以下の場合は最初のNotification Channelが作成された時点で権限要求ダイアログが表示され、targetSdkVersion 33では明示的に権限要求のフローを踏んで許可を得ないと通知を送ることができない。
Yukariの場合、Application ContextのonCreate()でNotification Channelを作成しているため、v3.1.2をAndroid 13端末にインストールした場合は初回起動直後に表示されることとなる。
参考資料
- https://medium.com/androiddevelopers/top-tips-for-adopting-androids-notification-permission-bf69afd677b8
- https://moneyforward.com/engineers_blog/2022/04/11/android13-notification-runtime-permission/
- https://www.fuwamaki.com/article/344
動作の変更点: Android 13 以上をターゲットとするアプリ
きめ細かいメディア権限
従来 READ_EXTERNAL_STORAGE
を要求していたがこれはAndroid 12L (API 32)までのサポートとなり、今後は READ_MEDIA_IMAGES
を要求する必要がある。
画像以外をクエリする場合はさらに別の権限が必要となるが、Yukariでは使っていないのでおそらくこれだけで良い。
READ_MEDIA_IMAGES 対応をやる前に #322 を片付ける。
新機能
テーマ別アプリアイコン
まずAdaptive iconに対応しないとだめ。
Predictive back gesture
onBackPressed()が機能しなくなって、AndroidXでいつのまにか追加されていたAPIで何とかする必要がある。
写真選択ツール
これは気になる。サードパーティのクラウドストレージアプリの写真も選択できるなら是非使いたいけど、今は使えないようだ。
Android 13ではクリップボードに書き込んだ時にスクショ撮影結果みたいなポップアップが出るので、アプリ側でToastを出すと冗長になってしまう。
https://developer.android.com/about/versions/13/features/copy-paste?hl=ja#duplicate-notifications
リリースに関わる問題は対応済なのでclose