Закрытие приложения с несколькими Activity.

Ответить
laandrew
Сообщения: 53
Зарегистрирован: 02 апр 2012, 09:40

Закрытие приложения с несколькими Activity.

Сообщение laandrew » 05 апр 2012, 07:40

Здравствуйте!

Как закрыть приложение, в котором несколько активностей? Если переходить с одной на другую и при этом делать finish(), то все понятно.
Допустим у нас три Activity. Мы последовательно попали на третью Activity. Как при нажатии в меню Выход на третьей Activity, полностью закрыть приложение?

Аватара пользователя
andev
Сообщения: 219
Зарегистрирован: 13 янв 2012, 17:56

Re: Закрытие приложения с несколькими Activity.

Сообщение andev » 05 апр 2012, 10:21

это противоречит концепции архитектуры приложений на Androide
как-то можно, например руками "почистив" стек активностей. Я находил пример кода для такой задачи, но он у меня не сработал

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Закрытие приложения с несколькими Activity.

Сообщение damager82 » 05 апр 2012, 10:58

На примере двух Activity: MainActivity и SecondActivity

Стартовое(корневое) - MainActivity. Из него вызывается SecondActivity.

В SecondActivity есть некая кнопка "выход". На ее нажатие вешаем:

Код: Выделить всё

Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("finish", true);
startActivity(intent);
Этот код вызывает MainActivity и чистит весь стек над ним. И посылаем метку закрытия


В MainActivity в onCreate сразу после конструктора суперкласса пишем

Код: Выделить всё

if (getIntent().getBooleanExtra("finish", false)) finish();
Проверка, если пришла метка закрытия, то закрываемся
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
andev
Сообщения: 219
Зарегистрирован: 13 янв 2012, 17:56

Re: Закрытие приложения с несколькими Activity.

Сообщение andev » 05 апр 2012, 11:03

хм, это в три раза короче чем в том месте, где смотрел я
сейчас заюзаю :)

laandrew
Сообщения: 53
Зарегистрирован: 02 апр 2012, 09:40

Re: Закрытие приложения с несколькими Activity.

Сообщение laandrew » 05 апр 2012, 11:19

Получилось! Огромное спасибо!

Stylish2011
Сообщения: 8
Зарегистрирован: 21 июн 2012, 16:25

Re: Закрытие приложения с несколькими Activity.

Сообщение Stylish2011 » 02 июн 2013, 13:46

Подскажите. вот у меня таким образом:

Код: Выделить всё

startActivity(new Intent(getActivity(), MainActivity.class));
getActivity().finish();
код переходит на MainActivity

а вот ка у вас здесь написано не переходит:

Код: Выделить всё

Intent intent = new Intent(getActivity(), MainActivity.class);
				intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
				intent.putExtra("finish", true);
				startActivity(intent);
почему?

Ответить