Обрабатывать инициируемую пользователем остановку приложений, запускающих службы переднего плана.

Начиная с Android 13 (API уровня 33) пользователи могут завершить рабочий процесс из панели уведомлений , чтобы остановить приложение, которое имеет текущие службы переднего плана, независимо от целевой версии SDK этого приложения. Эта возможность, называемая диспетчером задач , показывает список приложений, которые в данный момент запускают службу переднего плана.

В нижней части панели уведомлений находится кнопка, которая показывает количество приложений, которые в данный момент работают в фоновом режиме. При нажатии этой кнопки появляется диалоговое окно, в котором перечислены названия различных приложений. Кнопка Стоп находится справа от каждого приложения
Рисунок 1. Рабочий процесс диспетчера задач на устройствах под управлением Android 13 или выше.

Этот список называется Активные приложения . Рядом с каждым приложением находится кнопка Стоп . На рисунке 1 показан рабочий процесс диспетчера задач на устройстве под управлением Android 13.

Когда пользователь нажимает кнопку «Стоп» рядом с вашим приложением в диспетчере задач, происходят следующие действия:

  • Система удаляет ваше приложение из памяти. Таким образом, останавливается все ваше приложение , а не только запущенная служба переднего плана.
  • Система удаляет обратный стек активности вашего приложения.
  • Воспроизведение любого медиафайла останавливается.
  • Уведомление, связанное с активной службой, удалено.
  • Ваше приложение останется в истории.
  • Запланированные задания выполняются в запланированное время.
  • Будильники срабатывают в запланированное время или в определенное временное окно.

Чтобы проверить, что ваше приложение ведет себя ожидаемым образом во время и после того, как пользователь останавливает его, выполните следующую команду ADB в окне терминала:

adb shell cmd activity stop-app PACKAGE_NAME