Работа с кнопкой возврата телефона: кнопка возврата при домашней активности всегда вызывает выход приложения

#android #button #android-activity #behavior #back

#Android #кнопка #android-активность #поведение #Назад

Вопрос:

Допустим, у меня есть 4 действия в моем приложении:
A (основное действие),
B
C
D

Я бы хотел, чтобы повторное нажатие в Activity A всегда приводило к выходу приложения. В моем случае, если поток действий выглядит следующим образом A> B> C> A, тогда, если я нажму кнопку «Назад», я перейду к действию C. Я хочу, чтобы в этот момент мое приложение завершило работу.

Я предполагаю, что приложение должно каким-то образом удалять историю активности, когда активна основная активность.
Как это сделать?

Спасибо

Комментарии:

1. Каково ваше предпочтительное поведение, если вы переходите к A> B> C, а затем нажимаете назад?

Ответ №1:

Когда вы запускаете свою домашнюю активность, делайте это с установленным флагом «Очистить верхнюю». Это приводит к очистке заднего стека.

 Intent intent = new Intent(this, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
  

Комментарии:

1. Спасибо. Установка режима запуска в манифесте на singleTop сработала для меня.

Ответ №2:

Если вы хотите, чтобы описанное выше поведение затем использовало FLAG_ACTIVITY_CLEAR_TOP для запуска A. Это очистит все действия, указанные выше