Форум программистов, компьютерный форум CyberForum.ru

Как уничтожить все активити в стеке? - Android

Войти
Регистрация
Восстановить пароль
 
Hank
45 / 36 / 2
Регистрация: 28.12.2011
Сообщений: 213
19.06.2015, 12:21     Как уничтожить все активити в стеке? #1
Всем привет!
Подскажите, как решить следующую задачу:

Активити 1 -> Активити 2 -> Активити 3 -> нажимаю back приложение должно закрыться.

Пробовал играться флагами CLEAR_TOP и NEW_TASK, но приложение все равно переходит на предыдущий экран. В Активити 2 я вышел из ситуации вызовом finish() при запуске Активити 3. Но как убить Активити 1, не пойму.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Valakin
 Аватар для Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 716
19.06.2015, 12:27     Как уничтожить все активити в стеке? #2
а цель какая? удаление противоречит принципам которым следует андроид
если мешает сотрите все с лейаута когда уйдете с активити
Mikalai
248 / 224 / 91
Регистрация: 11.01.2015
Сообщений: 643
19.06.2015, 12:34     Как уничтожить все активити в стеке? #3
так в чём проблема? каждый раз при переходе на другое активити вызывай finish() иначе они ложатся в бекстек
Hank
45 / 36 / 2
Регистрация: 28.12.2011
Сообщений: 213
19.06.2015, 12:48  [ТС]     Как уничтожить все активити в стеке? #4
так в чём проблема? каждый раз при переходе на другое активити вызывай finish() иначе они ложатся в бекстек
Проблема в том, что переходя с Активити 1 в Активити 2 первое активити убивать нельзя, т.к. в нее я могу еще вернуться кнопкой назад, а вот если перешел в Активити 3, то тогда ни в первое ни во второе активити я возвращаться не должен.
Mikalai
248 / 224 / 91
Регистрация: 11.01.2015
Сообщений: 643
19.06.2015, 13:11     Как уничтожить все активити в стеке? #5
Самый брутальный способ - System.exit(0); ))
Hank
45 / 36 / 2
Регистрация: 28.12.2011
Сообщений: 213
19.06.2015, 16:45  [ТС]     Как уничтожить все активити в стеке? #6
В общем сделал по другому.
Активити 2 запускаю методом startActivityForResult. Когда мне нужно открыть Активити 3, я Активити 2 закрываю кодом
Java
1
2
3
4
Intent intent = new Intent();
intent.putExtra("FORM_CLOSE", true);
setResult(RESULT_OK, intent);
finish();
В методе onActivityResult() отлавливаю флаг, говорящий, что эту Активити 1 нужно закрыть и открыть Активити 3.
После всех манипуляций в стеке остается только Активити 3.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2015, 17:40     Как уничтожить все активити в стеке?
Еще ссылки по теме:

Basic4Android Как в активити добавить окошко с текстом
Android Как из Активити запустить сервис ?
Как открыть PUSH в активити? Android
Как будет меняться стек активити Android
Android Как узнать имя Активити?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Vladimirys
293 / 190 / 20
Регистрация: 16.01.2010
Сообщений: 527
19.06.2015, 17:40     Как уничтожить все активити в стеке? #7
Вот такой вариант. В принципе, работаете не только для двух активностей.
StartActivity и finish
Yandex
Объявления
19.06.2015, 17:40     Как уничтожить все активити в стеке?
Ответ Создать тему
Опции темы

Текущее время: 00:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru