處理使用者啟動停止執行前景服務的應用程式

自 Android 13 (API 級別 33) 起,使用者可以透過通知導覽匣完成工作流程,停止具有前景服務的應用程式,無論該應用程式的目標 SDK 版本為何。這項功能稱為「工作管理員」,會顯示目前執行前景服務的應用程式清單。

通知導覽匣底部有一個按鈕,會指出目前在背景執行的應用程式數量。按下這個按鈕後,系統會顯示對話方塊,列出不同應用程式的名稱。「停止」按鈕位於每個應用程式右側
圖 1. 搭載 Android 13 以上版本的裝置上的工作管理員工作流程。

這份清單會標示為「使用中的應用程式」。每個應用程式旁邊都有「停止」按鈕。圖 1 說明在搭載 Android 13 的裝置上,工作管理員的工作流程。

當使用者在工作管理員中按下應用程式旁的「Stop」按鈕時,系統會執行下列動作:

  • 系統會從記憶體中移除應用程式。因此,整個應用程式都會停止,而不只是執行中的前景服務。
  • 系統會移除應用程式的活動返回堆疊。
  • 所有媒體都會停止播放。
  • 與前景服務相關聯的通知會遭到移除。
  • 應用程式仍會保留在記錄中。
  • 排定的工作會在排定時間執行。
  • 鬧鐘會在預定時間或時間範圍響起。

如要測試應用程式在使用者停止應用程式時和停止後的行為是否符合預期,請在終端機視窗中執行下列 ADB 指令:

adb shell cmd activity stop-app PACKAGE_NAME