我们将对 Android 15 中的前台服务类型进行以下更改。
仍在处理中的媒体内容
- Foreground service type to declare in manifest under
android:foregroundServiceType
mediaProcessing
- Permission to declare in your manifest
FOREGROUND_SERVICE_MEDIA_PROCESSING
- Constant to pass to
startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
- Runtime prerequisites
- None
- Description
Service for performing time-consuming operations on media assets, like converting media to different formats. The system allows this service a limited time to run; under normal circumstances, this time limit would be 6 hours out of every 24. (This limit is shared by all of an app's
mediaProcessing
foreground services.)Your app should manually stop the media processing service in the following scenario:
- When the transcoding operation finishes or reaches a failure state, have the
service call
Service.stopForeground()
andService.stopSelf()
to stop the service completely.
- When the transcoding operation finishes or reaches a failure state, have the
service call
If the timeout period is reached, the system calls the service's
Service.onTimeout(int, int)
method. At this time, the service has a few seconds to callService.stopSelf()
. If the service does not callService.stopSelf()
, an ANR will occur with this error message: "A foreground service of <fgs_type> did not stop within its timeout: <component_name>".Note:
Service.onTimeout(int, int)
is not available on Android 14 or lower. On devices running those versions, if a media processing service reaches the timeout period, the system immediately caches the app. For this reason, your app shouldn't wait to get a timeout notification. Instead, it should terminate the foreground service or change it to a background service as soon as appropriate.
相机
以 Android 15 或更高版本为目标平台的应用不得通过 BOOT_COMPLETED
广播接收器启动相机前台服务。如需了解详情,请参阅对启动前台服务的 BOOT_COMPLETED
广播接收器的限制。
数据同步
以 Android 15 或更高版本为目标平台的应用不得通过 BOOT_COMPLETED
广播接收器启动数据同步前台服务。如需了解详情,请参阅对启动前台服务的 BOOT_COMPLETED
广播接收器的限制。
媒体播放
以 Android 15 或更高版本为目标平台的应用不得通过 BOOT_COMPLETED
广播接收器启动媒体播放前台服务。如需了解详情,请参阅对启动前台服务的 BOOT_COMPLETED
广播接收器的限制。
媒体投影
以 Android 15 或更高版本为目标平台的应用不得通过 BOOT_COMPLETED
广播接收器启动媒体投影前台服务。如需了解详情,请参阅对启动前台服务的 BOOT_COMPLETED
广播接收器的限制。
麦克风
以 Android 14(API 级别 34)或更高版本为目标平台的应用不得通过 BOOT_COMPLETED
广播接收器启动麦克风前台服务。如需了解详情,请参阅对启动前台服务的 BOOT_COMPLETED
广播接收器的限制。
通话
以 Android 15 或更高版本为目标平台的应用不得通过 BOOT_COMPLETED
广播接收器启动通话前台服务。如需了解详情,请参阅对启动前台服务的 BOOT_COMPLETED
广播接收器的限制。