フォアグラウンド サービス(FGS)タスク マネージャー

Android 13(API レベル 33)では、ターゲット SDK バージョンにかかわらず、ユーザーは通知ドロワーからフォアグラウンド サービスを停止できます。フォアグラウンド サービス(FGS)タスク マネージャーと呼ばれるこの新しいアフォーダンスは、現在フォアグラウンド サービスを実行しているアプリのリストを表示します。このリストには、[有効なアプリ] というラベルが付いています。各アプリの横に [停止] ボタンがあります。図 1 は、Android 13 を搭載したデバイス上の FGS タスク マネージャーのワークフローを示しています。

通知ドロワーの下部に、現在バックグラウンドで実行されているアプリの数を表示するボタンがあります。このボタンを押すと、さまざまなアプリ名のリストを含むダイアログが表示されます。各アプリの右側に [停止] ボタンがあります。
図 1. Android 13 デバイス上の FGS タスク マネージャーのワークフロー

ユーザー アクションによりアプリ全体が停止する

FGS タスク マネージャーでユーザーがアプリの横の [停止] ボタンを押すと、実行中のフォアグラウンド サービスだけでなく、アプリ全体が停止します。

「上にスワイプ」および「強制停止」ユーザー アクションの動作との比較

FGS タスク マネージャーと、[最近] 画面からの「上にスワイプ」と正常に動作していないアプリの「強制停止」を行う既存のアフォーダンスとの違いを次の表で確認してください。

FGS タスク マネージャー 上にスワイプ 強制停止
アプリをメモリから直ちに削除
メディアの再生を停止
FGS による停止の通知 / 関連する通知を削除
アクティビティのバックスタックを削除
履歴からアプリを削除
スケジュールされたジョブをキャンセル
アラームをキャンセル

ユーザーが FGS タスク マネージャーでアプリを停止した場合、コールバックは送信されない

ユーザーが [停止] ボタンを押した場合、システムはアプリにコールバックを送信しません。アプリがバックアップを開始したときに、既存の ApplicationExitInfo API に含まれる新しい理由 REASON_USER_REQUESTED を確認すると役に立つ場合があります。

長時間実行されているフォアグラウンド サービスに関するシステム プロンプト

アプリが長時間(24 時間以内に少なくとも 20 時間)フォアグラウンド サービスを実行していることを検出すると、システムはユーザーに通知を送信して、FGS タスク マネージャーの操作を促します。

詳しくは、長時間実行されているフォアグラウンド サービスについてユーザーに警告する新しいシステム通知をご覧ください。

除外

特定のタイプのアプリには、以下のセクションで説明するいくつかのレベルの除外が適用されます。

除外は、プロセス単位ではなくアプリ単位で適用されます。アプリ内の 1 つのプロセスが除外されると、そのアプリ内の他のプロセスもすべて除外されます。

FGS タスク マネージャーの表示対象からの除外

以下のアプリは、タスク マネージャーに一切表示されることなく、フォアグラウンド サービスを実行できます。

  • システムレベルのアプリ
  • 緊急情報サービスアプリ(つまり、ROLE_EMERGENCY ロールを持つアプリ)
  • デモモードのデバイス

ユーザーによる停止対象からの除外

以下のタイプのアプリがフォアグラウンド サービスを実行している場合、それらは FGS タスク マネージャーに表示されますが、アプリ名の横に、ユーザーが押すことができる [停止] ボタンは表示されません。

テスト

ユーザーがアプリを停止している間または停止した後でアプリが想定どおりに動作するかどうかをテストするには、ターミナル ウィンドウで次の ADB コマンドを実行します。

adb shell cmd activity stop-app PACKAGE_NAME