在 Android 15 中对前台服务类型做出以下更改。
仍在处理中的媒体内容
- 要在其清单中声明的前台服务类型
android:foregroundServiceType
mediaProcessing- 在清单中声明的权限
FOREGROUND_SERVICE_MEDIA_PROCESSING- 要传递给 startForeground() 的常量
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING- 运行时前提条件
无
说明用于对媒体资源执行耗时操作的服务,例如将媒体转换为不同格式。系统允许此服务有有限的运行时间;在正常情况下,此时间限制为每 24 小时 6 小时。(此限制由应用的所有 mediaProcessing 前台服务共享。)
您的应用应在以下情况下手动停止媒体处理服务:
- 当转码操作完成或达到失败状态时,让服务调用 Service.stopForeground() 和 Service.stopSelf() 以彻底停止服务。
如果达到超时期限,系统会调用服务的 Service.onTimeout(int, int) 方法。此时,服务有几秒钟时间来调用 Service.stopSelf()。如果服务未调用 Service.stopSelf(),将发生 ANR,并显示以下错误消息:"<fgs_type> 的前台服务未在其超时内停止:<component_name>"。
一、相机
以 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 广播接收器的限制。