处理用户发起的停止运行前台服务的应用的操作

从 Android 13(API 级别 33)开始,无论应用采用何种目标 SDK 版本,用户都可以通过抽屉式通知栏完成工作流,以停止具有持续前台服务的应用。此功能称为任务管理器,会显示当前正在运行前台服务的应用列表。

抽屉式通知栏底部有一个按钮,用于指示当前在后台运行的应用的数量。按此按钮时,系统会显示一个对话框,其中会列出不同应用的名称。每个应用的右侧都有一个“停止”按钮
图 1. 搭载 Android 13 或更高版本的设备上的任务管理器工作流程。

此列表的标签为使用中的应用。每个应用旁边都有一个停止按钮。图 1 说明了搭载 Android 13 的设备上的任务管理器工作流程。

当用户在任务管理器中按您应用旁边的停止按钮时,系统会执行以下操作:

  • 系统会将您的应用从内存中移除。因此,系统会停止您的整个应用,而不仅仅是正在运行的前台服务。
  • 系统会移除应用的 activity 返回堆栈。
  • 所有媒体播放都会停止。
  • 系统会移除与前台服务关联的通知。
  • 您的应用仍会保留在历史记录中。
  • 预定作业会在预定的时间执行。
  • 闹钟会在设定的时间或时间段响铃。

如需测试应用在用户停止应用的过程中和之后的行为是否符合预期,请在终端窗口中运行以下 adb 命令:

adb shell cmd activity stop-app PACKAGE_NAME