Подтвердить что ты не робот

Убейте все действия, когда нажата клавиша HOME нажата андроид

У меня есть приложение, в котором есть 4 действия. В приложении есть действия с историей, т.е. действия, из которых я перемещался, не должны быть уничтожены, поэтому я не вызываю финиш(), когда я перемещаюсь.

Но когда я нажимаю кнопку HOME, я хочу убить все действия. Итак, когда я вернусь к приложению, вместо предыдущей приостановленной активности отобразится индексный экран или скажем первое действие.

Проблема здесь в том, как отличить спины в приложении от кнопки HOME.

Я видел несколько ответов по этому поводу в других вопросах. Получил больше путаницы.
Есть ли способ, кроме перехвата HOME KEY PRESS, потому что, как предлагается в других потоках,
Я не должен переопределять нажатие клавиши HOME (так как это может иметь побочные эффекты)

4b9b3361

Ответ 1

Установите android:clearTaskOnlaunch="true" в действии, запущенном с главного экрана.

Вы также можете проверить некоторые другие атрибуты, которые вы можете указать в действии, чтобы немного улучшить его поведение.

Ответ 2

В основной деятельности добавьте:

Android: launchMode = "singleTask" андроид: clearTaskOnLaunch = "истина"

На остальных добавьте:

android:finishOnTaskLaunch="true"

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