Кнопка «Выход из приложения»
Здравствуйте, реализую выход из приложения и столкнулся со следующей проблемой: после «выхода», когда пользователя выкинуло на экран авторизации, он может нажать на кнопку назад и тем самым вернутся.
Как реализован выход:
1 2 3 4
Intent intent = new Intent(ProfileActivity.this, LoginActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); finish();
В приложении след. структура: Авторизация — > МенюАктивити (имеет 5 фрагментов) ->ProfileАктивити.
На любом из 5 фрагментов пользователь может перейти в профиль, где и находится кнопка «Выход».
Проблема в том, что МенюАктивити — не завершается таким образом. И после «выхода» на нее можно вернутся.
Гугл говорит, что наличие флагов :intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK) должно очистить стек активити, но ничего не происходит.
Есть способ завершить все активности в приложении? (предпочтительно).
Или с 1 активности завершить другую (хотя это костыль)?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как сделать выход из приложения по кнопке выход
Привет! Имеется 3 активити. А1 — запускается при запуске приложения(анимация) А2 — меню ( с.
Выход с вылетом из приложения
Приложение чат. Произвожу авторизацию, поле авторизации нажимаю на прописанную кнопку выхода из.
Корректный выход из приложения
Проблема в том, что не могу сделать корректный выход из приложении. Как есть. Системная кнопка.
Выход и вход из приложения
Добрый вечер. Подскажите пожалуйста. Мне достался проект — приложение, писал какой то студент. Сам.
Кнопка выход
создал кнопочную форму при переходе в определённый раздел не могу из него выйти нажимаю на кнопку.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Кнопка ‘Выход’
Прошу помощи немогу розобраться с закрытием програмы. Дело в том что есть кнопка ‘Выход’ и на нее.
Кнопка выход в игре
Здравствуйте, у менять меню в игре и есть кнопка выхода, но я не знаю, что прописывать чтобы при.
Кнопка выход на форме
При загрузке формы выполняется ряд проверок, на форме есть кнопка выхода на ней висит код.
Кнопка выход и настройка сессии
Здравствуйте, помогите настроить кнопку выход, по идеи должно работать все но ничего она не.
Кнопка выход после авторизации
Ребят, привет. Помогите с кнопками на сайте пожлст 🙂 В общем мне нужно чтобы после успешного входа.
Или воспользуйтесь поиском по форуму:
Выход из Android приложения
Есть приложение состоящее из множества экранов. На каждом экране есть кнопка для перехода на активити с главным меню. Как сделать, чтобы после перехода по кнопке «Домой» из любого активити, переходило на главное активити, после чего с помощью нажатия на кнопку «back» телефона выйти из приложения, а не нажимать 100 раз на кнопку «back» перелистывая все активити на которые зашел, чтобы выйти?
Отслеживать
задан 8 окт 2016 в 9:50
Лев Науменко Лев Науменко
439 1 1 золотой знак 8 8 серебряных знаков 26 26 бронзовых знаков
Intent ‘у «домой» добавьте флаги Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK
8 окт 2016 в 11:45
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Как вариант можно переопределить в главной активити нажатие на кнопку назад и не завершать активити, а эмулировать нажатие на 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); >
А вообще да, лучше изучить почему и как у вас активити в стеке остались и не допускать этого
Android. Выход из приложения по двойному нажатию кнопки назад
Простой пример кода для выхода из приложения по двойному нажатию на кнопку назад.
Для выход по двойному нажатию по кнопке back, добавляем код:
private static long back_pressed; @Override public void onBackPressed() < if (back_pressed + 2000 >System.currentTimeMillis()) < super.onBackPressed(); >else < Toast.makeText(getBaseContext(), "Press once again to exit!", Toast.LENGTH_SHORT).show(); >back_pressed = System.currentTimeMillis(); >
Если у вас есть вопросы или предложения по улучшению кода описанного в статье пишите в комментариях.
Я всегда открыт к конструктивному диалогу
Рекомендуемые
Рекомендуемые
Комментарии
Комментарии отсутствуют, Вы можете быть первым
Компьютеры не решают задачи, они выполняют решения.
кодер.укр
Мы публикуем полезные материалы для веб разработчика с подробным описанием без лишней «воды», с рабочими (проверенными) примерами.
Основная наша задача — это донести материалы максимально просто и понятно до читателя.
Вы можете связаться с нами по э-почте: info@кодер.укр
или с помощью формы обратной связи
в последней версии Тор добавьте указаные строчки в файл «torrc-defaults»
конкуренты на бирают кучу таких адресов и получаются дубли главной: https://site.ru/?__c.
UPD. Нашел способ анимировать одной анимацией несколько кнопок. Может кому то будет полезн.
Подпишитесь на рассылку и Вы будете получать новые статьи первым.
Copyright © 2014 — 2024 by кодер.укр. All Rights Reserved.
Android: закрытие приложения по кнопке "назад"
Но что-то мне говорит, что это не совсем верно и избыточно. Приложение — игра с libgdx, используется только одно Activity.
- Вопрос задан более трёх лет назад
- 37581 просмотр
Комментировать
Решения вопроса 0
Ответы на вопрос 2
sheremetat @sheremetat
Когда Вы закрываете приложение кнопной «Назад», то вызывается метод onDestroy(). Для этого перехватывать нажатие этой кнопки в методе onBackPressed() не имеет смысла. Достаточно сделать так:
public void onDestroy() moveTaskToBack(true);
Перехватывать нажатие кнопки «Назад» имеет смысл тогда, когда надо реализовать подтверждение выхода из игры или что-то в этом роде.
Ответ написан более трёх лет назад
Комментировать
Нравится 5 Комментировать
YoungSkipper @YoungSkipper
Если вы от Application не наследуетесь, и как следсвие не изпользуете другого Context кроме Context-а вашего Activity — то достаточно только finish(). Ну и плюс конечно, если вы сами создаете thread-ы то их лучше явным образом удалить.
Ответ написан более трёх лет назад
Нравится 2 3 комментария
Как правильно завершить свой поток в Actitvity в onDestroy? Не подумайте чего — все облазил — каких методов только не предлагается. Но видимо так?
public void onDestroy()
А если еще и SurfaceView используется, то нужно его принудительно завершать? удалять калбак из него? finish() при использовании SurfaceView не всегда закрывает приложение корректно — иногда появлzется исключение — видимо не закрывается поток рисования в SurfaceView, хотя в SurfaceView.onDestroy и делается drawingThread.interrupt().
и кстати — нужен ли runFinalizersOnExit если он «deprecated»
Короче у меня работоспособный вариант выглядит так примерно ACTIVITY:
//Это для пункта EXIT собственного меню public void destroy()
Но при этом у потока backgroundThread есть «чудо» переменная indicatorOfWork
public void destroy() < this.indicatorOfWork = false; try< this.join(); >catch() < >> public run() < while(this.indicatorOfWork)< doSomeWork(); >>
Тогда как должен выглядеть для кнопки НАЗАД этот метод?
//Это стандартное public void onDestroy()