Cambios en los tipos de servicios en primer plano para Android 15

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.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.