We are making the following changes to foreground service types with Android 15.
Procesando archivos multimedia
- Foreground service type to declare in manifest under
android:foregroundServiceTypemediaProcessing- Permission to declare in your manifest
FOREGROUND_SERVICE_MEDIA_PROCESSING- Constant to pass to
startForeground() FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING- Runtime prerequisites
- None
- Description
Service for performing time-consuming operations on media assets, like converting media to different formats. The system allows this service a limited time to run; under normal circumstances, this time limit would be 6 hours out of every 24. (This limit is shared by all of an app's
mediaProcessingforeground services.)Your app should manually stop the media processing service in the following scenario:
- When the transcoding operation finishes or reaches a failure state, have the
service call
Service.stopForeground()andService.stopSelf()to stop the service completely.
- When the transcoding operation finishes or reaches a failure state, have the
service call
If the timeout period is reached, the system calls the service's
Service.onTimeout(int, int)method. At this time, the service has a few seconds to callService.stopSelf(). If the service does not callService.stopSelf(), an ANR will occur with this error message: "A foreground service of <fgs_type> did not stop within its timeout: <component_name>".Note:
Service.onTimeout(int, int)is not available on Android 14 or lower. On devices running those versions, if a media processing service reaches the timeout period, the system immediately caches the app. For this reason, your app shouldn't wait to get a timeout notification. Instead, it should terminate the foreground service or change it to a background service as soon as appropriate.
Cámara
Las apps orientadas a Android 15 o versiones posteriores no pueden iniciar un servicio en primer plano de la cámara desde un receptor de emisión BOOT_COMPLETED.
Para obtener más información, consulta Restricciones en los receptores de emisión 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 en los receptores de emisión 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 en primer plano de reproducción de contenido multimedia desde un receptor de emisión BOOT_COMPLETED.
Para obtener más información, consulta Restricciones en los receptores de emisión BOOT_COMPLETED que inician servicios en primer plano.
Proyección de contenido multimedia
Las apps que se orientan a Android 15 o versiones posteriores no pueden iniciar un servicio en primer plano de proyección de contenido multimedia desde un receptor de transmisión BOOT_COMPLETED.
Para obtener más información, consulta Restricciones en los receptores de emisión BOOT_COMPLETED que inician servicios en primer plano.
Micrófono
Las apps que se orientan a Android 14 (nivel de API 34) o versiones posteriores no pueden iniciar un servicio en primer plano del micrófono desde un receptor de emisión BOOT_COMPLETED.
Para obtener más información, consulta Restricciones en los receptores de emisión BOOT_COMPLETED que inician servicios en primer plano.
Llamada telefónica
Las apps orientadas 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 en los receptores de emisión BOOT_COMPLETED que inician servicios en primer plano.