Cómo controlar la detención iniciada por el usuario de las apps que ejecutan servicios en primer plano
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
A partir de Android 13 (nivel de API 33), los usuarios pueden completar un flujo de trabajo desde el panel lateral de notificaciones para detener una app que tenga servicios en primer plano en curso, independientemente de la versión del SDK de destino de esa app. Esta prestación, llamada Administrador de tareas, muestra una lista de apps que actualmente ejecutan un servicio en primer plano.
Figura 1: Flujo de trabajo del Administrador de tareas en dispositivos que ejecutan Android 13 o versiones posteriores.
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 en un dispositivo que ejecuta Android 13.
Cuando el usuario presiona el botón Detener junto a tu app en el Administrador de tareas, ocurren las siguientes acciones:
El sistema quita la app de la memoria. Por lo tanto, se detiene toda la app, no solo el servicio en primer plano en ejecución.
El sistema quita la pila de actividades de tu app.
Se detiene la reproducción de cualquier contenido multimedia.
Se quita la notificación asociada con el servicio en primer plano.
Tu app permanecerá en el historial.
Los trabajos programados se ejecutan en el momento especificado.
Las alarmas suenan a la hora o en el período programado.
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:
adbshellcmdactivitystop-appPACKAGE_NAME
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-08-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-27 (UTC)"],[],[],null,["Starting in Android 13 (API level 33), users can complete a workflow from the\n[notification drawer](/develop/ui/views/notifications#bar-and-drawer)\nto stop an app that has an ongoing foreground services, regardless of that app's\ntarget SDK version. This affordance, called the\n*Task Manager*, shows a list of apps that are\ncurrently running a foreground service. \n**Figure 1.** Task Manager workflow on devices that run Android 13 or higher.\n\nThis list is labeled **Active apps** .\nNext to each app is a **Stop** button. Figure 1 illustrates the\nTask Manager workflow on a device that runs\nAndroid 13.\n\nWhen the user presses the **Stop** button next to your app in the\nTask Manager, then the following actions occur:\n\n- The system removes your app from memory. Therefore, your **entire app stops**, not just the running foreground service.\n- The system removes your app's activity back stack.\n- Any media playback stops.\n- The notification associated with the foreground service is removed.\n- Your app remains in history.\n- Scheduled jobs execute at their scheduled time.\n- Alarms go off at their scheduled time or time window.\n\n| **Note:** The system doesn't send your app any callbacks when the user taps the **Stop** button. When your app starts back up, it's helpful to check for the [`REASON_USER_REQUESTED`](/reference/android/app/ApplicationExitInfo#REASON_USER_REQUESTED) reason that's part of the `ApplicationExitInfo` API.\n\nTo test that your app behaves as expected while and after a user stops your\napp, run the following ADB command in a terminal window: \n\n```bash\nadb shell cmd activity stop-app PACKAGE_NAME\n```"]]