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>
”。
注意
:
Service.onTimeout(int, int)
不适用于 Android 14 或更低版本。在搭载这些版本的设备上,如果媒体处理服务达到超时期限,系统会立即缓存应用。因此,您的应用不应等待收到超时通知。相反,它应在适当情况下尽快终止前台服务或将其更改为后台服务。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-07-27。"],[],[]]