Estamos realizando los siguientes cambios en los tipos de servicios en primer plano con Android 15.
Procesando archivos multimedia
- 要在其清单中声明的前台服务类型
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>”。注意:
Service.onTimeout(int, int)
不适用于 Android 14 或更低版本。在运行这些版本的设备上,如果媒体处理服务达到超时期限,系统会立即缓存应用。因此,您的应用不应等待收到超时通知。而是应尽快终止前台服务或将其更改为后台服务。
Cámara
Las apps que se orientan a Android 15 o versiones posteriores no pueden iniciar un servicio de cámara en primer plano desde un receptor de emisión BOOT_COMPLETED
.
Para obtener más información, consulta Restricciones sobre los receptores de emisión de BOOT_COMPLETED
que inician servicios en primer plano.
Sincronización de datos
Las apps que se orientan a Android 15 o versiones posteriores no pueden iniciar un servicio en primer plano de sincronización de datos desde un receptor de emisión BOOT_COMPLETED
.
Para obtener más información, consulta Restricciones sobre los receptores de emisión de BOOT_COMPLETED
que inician servicios en primer plano.
Reproducción de contenido multimedia
Las apps orientadas a Android 15 o versiones posteriores no pueden iniciar un servicio de reproducción de contenido multimedia en primer plano desde un receptor de emisión BOOT_COMPLETED
.
Para obtener más información, consulta Restricciones sobre los receptores de emisión de BOOT_COMPLETED
que inician servicios en primer plano.
Proyección de contenido multimedia
Las apps orientadas a Android 15 o versiones posteriores no pueden iniciar un servicio de proyección de contenido multimedia en primer plano desde un receptor de emisión BOOT_COMPLETED
.
Para obtener más información, consulta Restricciones sobre los receptores de emisión de BOOT_COMPLETED
que inician servicios en primer plano.
Micrófono
Las apps orientadas a Android 14 (nivel de API 34) o versiones posteriores no pueden iniciar un servicio en primer plano de micrófono desde un receptor de emisión BOOT_COMPLETED
.
Para obtener más información, consulta Restricciones sobre los receptores de emisión de BOOT_COMPLETED
que inician servicios en primer plano.
Llamada telefónica
Las apps que se orientan a Android 15 o versiones posteriores no pueden iniciar un servicio en primer plano de llamada telefónica desde un receptor de emisión BOOT_COMPLETED
.
Para obtener más información, consulta Restricciones sobre los receptores de emisión de BOOT_COMPLETED
que inician servicios en primer plano.