Ответ 1
Установите android:clearTaskOnlaunch="true"
в действии, запущенном с главного экрана.
Вы также можете проверить некоторые другие атрибуты, которые вы можете указать в действии, чтобы немного улучшить его поведение.
У меня есть приложение, в котором есть 4 действия. В приложении есть действия с историей, т.е. действия, из которых я перемещался, не должны быть уничтожены, поэтому я не вызываю финиш(), когда я перемещаюсь.
Но когда я нажимаю кнопку HOME, я хочу убить все действия. Итак, когда я вернусь к приложению, вместо предыдущей приостановленной активности отобразится индексный экран или скажем первое действие.
Проблема здесь в том, как отличить спины в приложении от кнопки HOME.
Я видел несколько ответов по этому поводу в других вопросах. Получил больше путаницы.
Есть ли способ, кроме перехвата HOME KEY PRESS, потому что, как предлагается в других потоках,
Я не должен переопределять нажатие клавиши HOME (так как это может иметь побочные эффекты)
Установите android:clearTaskOnlaunch="true"
в действии, запущенном с главного экрана.
Вы также можете проверить некоторые другие атрибуты, которые вы можете указать в действии, чтобы немного улучшить его поведение.
В основной деятельности добавьте:
Android: launchMode = "singleTask" андроид: clearTaskOnLaunch = "истина"
На остальных добавьте:
android:finishOnTaskLaunch="true"
Таким образом, он будет убивать любые действия при возврате в приложение после того, как он находится в фоновом режиме.