フォアグラウンド サービスを実行しているアプリをユーザーが開始した停止を処理する

Android 13(API レベル 33)以降では、アプリのターゲット SDK バージョンにかかわらず、ユーザーは通知ドロワーからワークフローを完了し、フォアグラウンド サービスが進行中のアプリを停止できます。タスク マネージャーと呼ばれるこのアフォーダンスは、現在フォアグラウンド サービスを実行しているアプリのリストを表示します。

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

このリストには、[有効なアプリ] というラベルが付いています。各アプリの横に [停止] ボタンがあります。図 1 は、Android 13 を搭載したデバイス上のタスク マネージャーのワークフローを示しています。

タスク マネージャーでユーザーがアプリの横の [停止] ボタンを押すと、次のアクションが発生します。

  • システムがメモリからアプリを削除します。そのため、実行中のフォアグラウンド サービスだけでなく、アプリ全体が停止します。
  • システムはアプリのアクティビティのバックスタックを削除します。
  • メディアの再生が停止します。
  • フォアグラウンド サービスに関連付けられた通知が削除されます。
  • アプリは履歴に残ります。
  • スケジュールされたジョブは、スケジュールされた時刻に実行されます。
  • アラームは、設定した時刻または時間帯に鳴ります。

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

adb shell cmd activity stop-app PACKAGE_NAME