Android 13 では、タスク マネージャーという新しいシステム UI アフォーダンスにより、バックグラウンド アプリでフォアグラウンド サービスにより使用されている状態とリソースをユーザーに通知し、ユーザーがこれらのアプリを停止できるようにしています。
Android 13 で導入された通知権限により、位置情報、メディアの再生とプロジェクション、データ同期、ビデオ通話と音声通話、コネクテッド デバイスに関するフォアグラウンド サービスを実行するバックグラウンド アプリからの通知のオフが、ユーザーによって制御できるようになりました。このような通知をオフにすると、ユーザーに状態とリソースの使用を示すフォアグラウンド サービスから必要な通知が表示されなくなります。タスク マネージャーは、クイック設定ディスプレイに情報バーを追加して、バックグラウンドで実行中のアプリと、それらによるメモリやバッテリーなどのスマートフォン リソースの使用状況をユーザーに知らせます。このインターフェースでは、アプリが長時間フォアグラウンド サービスを実行している場合にユーザーに通知が行われ、ユーザーによるアプリの停止ができるようになります。アフォーダンスは、重要な通知の邪魔にならないようにディスプレイ上で配置されます。詳しくは、タスク マネージャーをご覧ください。
バックグラウンド アプリに対してタスク マネージャーを実装する
この機能のリファレンス AOSP 実装が利用可能ですが、Android 搭載デバイスの実装者がこのシステム UI をカスタマイズして変更しても構いません。デバイスの機能の中核となる電話やカメラなどのアプリでは、タスク マネージャーにストップ アフォーダンスが表示されないようにしてください。
AOSP 実装では、システム UI とシステム サーバーの間の新しい内部 Callback API を使用しています。この API を使用すると、システム サーバーは新しいフォアグラウンド サービスの開始時にシステム UI に通知することができます。また、この API はユーザーからのリクエストに応じて、特定のアプリを停止するようシステム サーバーに通知します。
タスク マネージャーによるバックグラウンド アプリ通知を検証する
手動テストでは、バックグラウンドで実行されているアプリに対してタスク マネージャーの機能を検証します。
単体テストには、AOSP で利用可能な単体テストを使用します。