Cambios en los servicios en primer plano

En la documentación de los servicios en primer plano, se describe el comportamiento actual de los servicios en primer plano de Android. La documentación brinda orientación sobre las prácticas recomendadas para la mayoría de las apps, independientemente de si se orientan a la versión más reciente de Android.

En esta página, se describen algunos de los cambios importantes más recientes en los servicios en primer plano y las implicaciones para las apps que no segmentan la versión más reciente de la plataforma de Android. En muchos casos, las prácticas recomendadas que eran opcionales para las apps que se segmentaban para niveles de API inferiores se vuelven obligatorias para las apps que se segmentan para niveles de API superiores.

Android 16 (nivel de API 36)

Los siguientes cambios se aplican a las apps que se ejecutan en Android 16 o versiones posteriores, independientemente del nivel de API al que se orienten:

  • Los trabajos en segundo plano que se inician desde un servicio en primer plano ahora deben cumplir con sus respectivas cuotas de tiempo de ejecución. Esto incluye los trabajos programados directamente con JobScheduler, así como los trabajos creados por otras bibliotecas, como WorkManager o DownloadManager.

    Para transferir datos en respuesta a una acción del usuario, considera usar un trabajo de transferencia de datos iniciado por el usuario. Estos trabajos están exentos de las cuotas de trabajos normales.

Android 15 (nivel de API 35)

Los siguientes requisitos se aplican a las apps que segmentan el nivel de API 35 o superior:

Android 14 (nivel de API 34)

Los siguientes requisitos se aplican a las apps que segmentan el nivel de API 34 o uno superior:

Android 12 (nivel de API 31)

Los siguientes requisitos se aplican a las apps que se segmentan para el nivel de API 31 o superior:

Android 11 (nivel de API 30)

Los siguientes requisitos se aplican a las apps que segmentan el nivel de API 30 o superior:

Android 10 (nivel de API 29)

Los siguientes requisitos se aplican a las apps que segmentan el nivel de API 29 o versiones posteriores:

  • Si los servicios en primer plano de una app usan información de ubicación, la app debe declarar el servicio con el tipo de servicio location.

Android 9 (nivel de API 28)

Android 9 introduce el permiso FOREGROUND_SERVICE. Las apps que se ejecutan en Android 9 y usan servicios en primer plano deben tener ese permiso.

Si una app que se segmenta para el nivel de API 28 o uno superior intenta crear un servicio en primer plano sin solicitar el permiso FOREGROUND_SERVICE, el sistema arroja un SecurityException.