Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

Выход из Android приложения

#java #android


Есть приложение состоящее из множества экранов. На каждом экране есть кнопка для
перехода на активити с главным меню. Как сделать, чтобы после перехода по кнопке "Домой"
из любого активити, переходило на главное активити, после чего с помощью нажатия на
кнопку "back" телефона выйти из приложения, а не нажимать 100 раз на кнопку "back"
 перелистывая все активити на которые зашел, чтобы выйти?
    


Ответы

Ответ 1



Как вариант можно переопределить в главной активити нажатие на кнопку назад и не завершать активити, а эмулировать нажатие на HOME кнопку телефона. Так приложение свернётся, а не будет показывать предыдущие активити. @Override public void onBackPressed() //эмулируем нажатие на HOME, сворачивая приложение Intent i = new Intent(Intent.ACTION_MAIN); i.addCategory(Intent.CATEGORY_HOME); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); } А вообще да, лучше изучить почему и как у вас активити в стеке остались и не допускать этого

Ответ 2



Добавьте этот код во все активности, кроме главной @Override protected void onUserLeaveHint() { //код для перехода к вашей главной активности super.onUserLeaveHint(); } А чтобы при нажатии Back на главной активности происходил выход добавьте в нее @Override public void onBackPressed() finish(); } НО Если при переходе на главную активность все другие не будут закрыты (finish()-нуты) - будет не выход а возвращение на нее. Поэтому сделайте чтобы все ваши переходы на главную активность сопровождались кодом finish() Советую почитать про жизненный цикл приложения

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

Отправить комментарий