前台服务的变更

前台服务文档介绍了 Android 前台服务的当前行为。该文档针对大多数应用(无论它们是否以最新版 Android 为目标平台)提供了最佳实践指南。

本页介绍了对前台服务的一些最新重大更改,以及这些更改对未以最新版 Android 平台为目标平台的应用的影响。在许多情况下,对于以较低 API 级别为目标的应用来说,一些最佳实践是可选的,但对于以较高 API 级别为目标的应用来说,这些最佳实践则成为强制性的。

Android 16(API 级别 36)

以下变更适用于在 Android 16 或更高版本上运行的应用,无论这些应用以哪个 API 级别为目标平台:

Android 15(API 级别 35)

以下要求适用于以 API 级别 35 或更高级别为目标平台的应用:

Android 14(API 级别 34)

以下要求适用于以 API 级别 34 或更高级别为目标平台的应用:

  • 您必须声明所有前台服务及其服务类型。
  • 应用必须针对前台服务将要执行的工作请求相应的权限类型。每种前台服务类型都有对应的权限类型。例如,如果应用启动使用相机的前台服务,您必须同时请求 FOREGROUND_SERVICEFOREGROUND_SERVICE_CAMERA 权限。如果应用以 API 级别 34 或更高级别为目标平台,但未请求相应的特定权限,系统会抛出 SecurityException

Android 12(API 级别 31)

以下要求适用于以 API 级别 31 或更高级别为目标平台的应用:

Android 11(API 级别 30)

以下要求适用于以 API 级别 30 或更高级别为目标平台的应用:

Android 10(API 级别 29)

以下要求适用于以 API 级别 29 或更高级别为目标平台的应用:

  • 如果应用的前台服务使用位置信息,则该应用必须声明具有 location 服务类型的服务

Android 9(API 级别 28)

Android 9 引入了 FOREGROUND_SERVICE 权限。在 Android 9 上运行且使用前台服务的应用必须具有该权限。

如果以 API 级别 28 或更高版本为目标平台的应用尝试创建前台服务而未请求 FOREGROUND_SERVICE 权限,则系统会抛出 SecurityException