Android 13 (API de nivel 33) permite a los usuarios detener servicios en primer plano desde el panel lateral de notificaciones, independientemente de la versión del SDK de destino. Esta nueva opción, llamada Administrador de tareas de servicios en primer plano (FGS), muestra una lista de apps que actualmente ejecutan un servicio en primer plano. Esta lista tiene la etiqueta Apps activas. Junto a cada app, hay un botón Detener. En la Figura 1, se ilustra el flujo de trabajo del Administrador de tareas de FGS en un dispositivo que ejecuta Android 13:
La acción del usuario detiene toda la app
Cuando el usuario presiona el botón Detener junto a tu app en el Administrador de tareas de FGS, se detiene toda la app, no solo el servicio en primer plano en ejecución.
Comparación del comportamiento con acciones de usuario "deslizar hacia arriba" y "forzar detención"
Consulta la siguiente tabla para ver cómo se compara el Administrador de tareas de FGS con las condiciones existentes: "deslizar el dedo hacia arriba" desde la pantalla Recientes y "Forzar la detención" de una app que funciona mal.
Administrador de tareas de FGS | Deslizar el dedo hacia arriba | Forzar detención | |
---|---|---|---|
Quita de inmediato la app de la memoria | ✔ | ✔ | |
Se detiene la reproducción de contenido multimedia | ✔ | ✔ | |
Se detienen los FGS/se quita la notificación asociada | ✔ | ✔ | |
Se quita la pila de actividades de la actividad | ✔ | ✔ | ✔ |
Quita la app del historial | ✔ | ✔ | |
Se cancelan los trabajos programados | ✔ | ||
Se cancelan las alarmas | ✔ |
No se envían devoluciones de llamada cuando el usuario detiene la app desde el Administrador de tareas de FGS
El sistema no envía devoluciones de llamada a tu app cuando el usuario presiona el botón Detener. Cuando se inicie la copia de seguridad de tu app, te recomendamos que verifiques el motivo nuevo de REASON_USER_REQUESTED
que forma parte de la API de ApplicationExitInfo
existente.
Mensajes del sistema relacionados con servicios en primer plano de larga duración
Si el sistema detecta que tu app ejecuta un servicio en primer plano durante un período prolongado (al menos 20 horas dentro de un período de 24 horas), envía una notificación al usuario para invitarlo a interactuar con el Administrador de tareas de FGS.
Obtén más información sobre la nueva notificación del sistema que alerta a los usuarios sobre un servicio en primer plano de larga duración.
Exenciones
El sistema brinda varios niveles de exenciones para ciertos tipos de apps, que se describen en las siguientes secciones.
Las exenciones se aplican por app y no por proceso. Si el sistema exime un proceso en una app, todos los demás procesos de esa app también quedan eximidos.
Exenciones con respecto a aparecer en el Administrador de tareas de FGS
Las siguientes apps pueden ejecutar un servicio en primer plano y no aparecer en el Administrador de tareas:
- Apps a nivel del sistema
- Apps de seguridad (es decir, aquellas que tienen el rol
ROLE_EMERGENCY
) - Dispositivos que están en el modo de demostración
Exenciones con respecto a la finalización por parte de los usuarios
Cuando los siguientes tipos de apps ejecutan un servicio en primer plano, aparecen en el Administrador de tareas de FGS, pero no hay un botón Detener junto al nombre de la app para que el usuario lo presione:
- Apps del propietario del dispositivo
- Apps del propietario del perfil
- Apps persistentes
- Apps que tienen el rol
ROLE_DIALER
Pruebas
Para probar que tu app se comporte como debería mientras el usuario la detiene y luego de dicha acción, ejecuta el siguiente comando de ADB en una ventana de terminal:
adb shell cmd activity stop-app PACKAGE_NAME