Обрабатывать инициируемую пользователем остановку приложений, запускающих службы переднего плана.
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Начиная с Android 13 (уровень API 33), пользователи могут завершить рабочий процесс из панели уведомлений , чтобы остановить приложение, которое использует активные службы переднего плана, независимо от целевой версии SDK этого приложения. Эта функция, называемая диспетчером задач , отображает список приложений, которые в данный момент используют активные службы переднего плана.
Рисунок 1. Рабочий процесс диспетчера задач на устройствах под управлением Android 13 или выше.
Этот список называется «Активные приложения» . Рядом с каждым приложением находится кнопка « Остановить» . На рисунке 1 показан рабочий процесс диспетчера задач на устройстве под управлением Android 13.
Когда пользователь нажимает кнопку «Остановить» рядом с вашим приложением в диспетчере задач, происходят следующие действия:
Система удаляет ваше приложение из памяти. Таким образом, останавливается всё приложение , а не только запущенная служба переднего плана.
Система удаляет обратный стек активности вашего приложения.
Уведомление, связанное с активной службой, удаляется.
Ваше приложение останется в истории.
Запланированные задания выполняются в запланированное время.
Будильники срабатывают в запланированное время или в определенное временное окно.
Чтобы проверить, что ваше приложение ведет себя ожидаемым образом во время и после того, как пользователь останавливает его, выполните следующую команду ADB в окне терминала:
adbshellcmdactivitystop-appPACKAGE_NAME
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-08-21 UTC.
[null,null,["Последнее обновление: 2025-08-21 UTC."],[],[],null,["# Handle user-initiated stopping of apps running foreground services\n\nStarting 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```"]]