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

Realizaremos los siguientes cambios en los tipos de servicios en primer plano con Android 15.

Procesando archivos multimedia

Tipo de servicio en primer plano que se declarará en el manifiesto en
android:foregroundServiceType
mediaProcessing
Permiso para declarar en tu manifiesto
FOREGROUND_SERVICE_MEDIA_PROCESSING
Constante para pasar a startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
Requisitos previos del entorno de ejecución
Ninguno
Descripción

Es un servicio para realizar operaciones que requieren mucho tiempo en los recursos multimedia, como convertir contenido multimedia a diferentes formatos. El sistema le permite a este servicio un tiempo limitado para ejecutarse. En circunstancias normales, este límite de tiempo sería de 6 horas de cada 24. (Todos los servicios en primer plano mediaProcessing de una app comparten este límite).

Tu app debe detener manualmente el servicio de procesamiento de contenido multimedia en la siguiente situación:

Si se alcanza el tiempo de espera, el sistema llama al método Service.onTimeout(int, int) del servicio. En este momento, el servicio tiene unos segundos para llamar a Service.stopSelf(). Si el servicio no llama a Service.stopSelf(), se producirá un error de ANR con este mensaje de error: "Un servicio en primer plano de <fgs_type> no se detuvo dentro del tiempo de espera: <component_name>".

Nota: Service.onTimeout(int, int) no está disponible en Android 14 ni versiones anteriores. En los dispositivos que ejecutan esas versiones, si un servicio de procesamiento de contenido multimedia alcanza el período de tiempo de espera, el sistema almacena en caché la app de inmediato. Por este motivo, tu app no debe esperar a recibir una notificación de tiempo de espera. En su lugar, debe finalizar el servicio en primer plano o cambiarlo a un servicio en segundo plano lo antes posible.

Cámara

Apps that target Android 15 or higher are not allowed to launch a camera foreground service from a BOOT_COMPLETED broadcast receiver. For more information, see Restrictions on BOOT_COMPLETED broadcast receivers launching foreground services.

Sincronización de datos

Apps that target Android 15 or higher are not allowed to launch a data sync foreground service from a BOOT_COMPLETED broadcast receiver. For more information, see Restrictions on BOOT_COMPLETED broadcast receivers launching foreground services.

Reproducción de contenido multimedia

Apps that target Android 15 or higher are not allowed to launch a media playback foreground service from a BOOT_COMPLETED broadcast receiver. For more information, see Restrictions on BOOT_COMPLETED broadcast receivers launching foreground services.

Proyección de contenido multimedia

Apps that target Android 15 or higher are not allowed to launch a media projection foreground service from a BOOT_COMPLETED broadcast receiver. For more information, see Restrictions on BOOT_COMPLETED broadcast receivers launching foreground services.

Micrófono

Apps that target Android 14 (API level 34) or higher are not allowed to launch a microphone foreground service from a BOOT_COMPLETED broadcast receiver. For more information, see Restrictions on BOOT_COMPLETED broadcast receivers launching foreground services.

Llamada telefónica

Apps that target Android 15 or higher are not allowed to launch a phone call foreground service from a BOOT_COMPLETED broadcast receiver. For more information, see Restrictions on BOOT_COMPLETED broadcast receivers launching foreground services.