从 Android 13(API 级别 33)开始,无论应用的目标 SDK 版本如何,用户都可以通过 通知抽屉 完成工作流,以停止具有持续前台服务的应用。这项功能称为 任务管理器,它会显示 当前正在运行前台服务的应用列表。
此列表的标签为使用中的应用 。 每个应用旁边都有一个停止 按钮。图 1 说明了搭载 Android 13 的设备上的任务管理器工作流程。
当用户在任务管理器中按您应用旁边的停止 按钮时,系统会执行以下操作:
- 系统会从内存中移除您的应用。因此,系统会停止您的整个应用, 而不仅仅是正在运行的前台服务。
- 系统会移除应用的 activity 返回堆栈。
- 所有媒体播放都会停止。
- 与前台服务相关的通知会被移除。
- 您的应用仍保留在历史记录中。
- 预定作业会在预定时间执行。
- 闹钟会在预定时间或时间窗口触发。
如需测试应用在用户停止应用的过程中和之后的行为是否符合预期,请在终端窗口中运行以下 adb 命令:
adb shell cmd activity stop-app PACKAGE_NAME