ここ数年、Androidの新バージョンはメジャーバージョンのアップデートリリースをかなり早めています。
大体のメーカーは新しいOS versionが出てから半年ほどで、新製品に搭載して発売する、ということはできていますが、すでに発売されている端末のOS version-upがなかなか進まないのが現状です。
ニュースサイトが2020年4月時点でのシェア予測を出していましたが、Android 10はまだまだ普及していないとレポートしていました。
そんな状況ではありますが、DeveloperPreviewは公開されているので、インパクトの大きそうな変更を見ていこうと思います。
・すべてのアプリに対する変更
1回限りの権限
-> 位置情報、マイクまたはカメラに関連する権限をリクエストするたびに、一時的な「1回限りの権限」がアプリに付与される。
iPad OSというかiOSで「起動中のみ許可する」みたいなのとはちょっと違い、ユーザーが「今回のみ」を選んだ場合にワンタイムパーミッションが付与されるようです。フォアグラウンドプロセスが生きている限り有効のようで、アクセス権を失ったりすると、システムがアプリのプロセスを終了するそうなので、メンバに持っているオブジェクトでnullチェックをしていない場合は注意が必要そうです。
これに伴い、「許可しない」を2回選択した場合、「今後表示しない」ことを希望していると同義であると判断されるようです。今後、チェックボックスによる「今後、このダイアログを表示しない」というUIをなくすようにポリシーが変更されるかもしれませんね。
バックグラウンドでの位置情報のアクセス
-> Android 11をターゲットとするアプリは、このアクセスを常に許可するように直接リクエストすることはできません。
上記に伴う変更で、特に位置情報については、常に「1回限りの権限」を付与して動作させるよ、ってことでしょうか。位置情報はかなりセンシティブな情報なので、取得方法がかなり厳格になってます。
ACTION_MANAGE_OVERLAY_PERMISSIONのインテント
-> 常にトップレベルの「設定」画面に移動し、SYSTEM_ALERT_WINDOW権限を付与したり、取り消したりすることができる。パッケージを指定してアプリごとの個別の権限を管理する画面に移動できたが、これをサポートしなくなったということです。
・Android 11をターゲットとするアプリ
カスタムトーストビューのブロック
-> サポートを終了します(!!!)。これはかなりインパクトがありそうです。
targetSdkVersionが古めのUIをかなり弄ってるアプリはToastで使うレイアウトも変更している気がします。Android Developerでは「バックグラウンドからカスタムビューを含むトーストを送信しようとするとブロックされます。」と記載があることから、フォアグラウンドでは問題なさそうに見えますが、そもそも使用をオススメしないとあります。スナックバーを使ってくださいとのこと。テキストだけなら特に制限されないAPIのようです。
フォアグラウンドサービスのタイプの追加
-> cameraとmicrophoneが追加され、AndroidManifestのServiceタグにある、foregroundServiceType 属性に追記する必要があるようです。
開発者としては権限周りがまた変わったなぁという印象。トーストのカスタムビューのサポート停止はちょっとびっくりしました。
権限周りはtargetSdkVersionに依らない変更になるので、位置情報・カメラ・マイクの権限を使う際は注意したいですね。
0 件のコメント:
コメントを投稿