Estamos fazendo as seguintes mudanças nos tipos de serviços em primeiro plano com o Android 15.
Mídia em processamento
- 要在清单中的以下位置声明的前台服务类型
android:foregroundServiceTypemediaProcessing- 在清单中声明的权限
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 或更低版本。在搭载这些版本的设备上,如果媒体处理服务达到超时期限,系统会立即缓存应用。因此,您的应用不应等待收到超时通知。相反,它应在适当情况下尽快终止前台服务或将其更改为后台服务。
Câmera
Os apps destinados ao Android 15 ou versões mais recentes não podem iniciar um
serviço de câmera em primeiro plano em um broadcast receiver BOOT_COMPLETED.
Para mais informações, consulte
Restrições em broadcast receivers BOOT_COMPLETED que iniciam serviços em
primeiro plano.
Sincronização de dados
Os apps destinados ao Android 15 ou mais recentes não podem iniciar um
serviço em primeiro plano de sincronização de dados de um broadcast receiver BOOT_COMPLETED.
Para mais informações, consulte
Restrições em broadcast receivers BOOT_COMPLETED que iniciam serviços em
primeiro plano.
Controles de mídia
Os apps destinados ao Android 15 ou mais recente não podem iniciar um
serviço em primeiro plano de reprodução de mídia em um broadcast receiver BOOT_COMPLETED.
Para mais informações, consulte
Restrições em broadcast receivers BOOT_COMPLETED que iniciam serviços em
primeiro plano.
Projeção de mídia
Os apps destinados ao Android 15 ou mais recentes não podem iniciar um
serviço em primeiro plano de projeção de mídia em um broadcast receiver BOOT_COMPLETED.
Para mais informações, consulte
Restrições em broadcast receivers BOOT_COMPLETED que iniciam serviços em
primeiro plano.
Microfone
Os apps destinados ao Android 14 (nível 34 da API) ou mais recentes não podem iniciar um
serviço em primeiro plano do microfone em um broadcast receiver BOOT_COMPLETED.
Para mais informações, consulte
Restrições em broadcast receivers BOOT_COMPLETED que iniciam serviços em
primeiro plano.
Ligação telefônica
Os apps destinados ao Android 15 ou mais recentes não podem iniciar um
serviço em primeiro plano de chamada de telefone em um broadcast receiver BOOT_COMPLETED.
Para mais informações, consulte
Restrições em broadcast receivers BOOT_COMPLETED que iniciam serviços em
primeiro plano.