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

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

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

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

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

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

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

adb shell cmd activity stop-app PACKAGE_NAME