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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 88, средняя оценка - 4.88
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 251
#1

Программное завершение приложения - Программирование Android

29.03.2013, 12:38. Просмотров 12012. Ответов 12
Метки нет (Все метки)

Здравствуйте.
Как программно завершить приложение? То есть не завершить активность через finish(), а именно выйти из приложения вообще.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2013, 12:38     Программное завершение приложения
Посмотрите здесь:

Завершение работы приложения - Программирование Android
у меня есть менюшка. там есть кнопочка quit, мне нужна чтоб она полностью прекращала работу приложения. Я пытаюсь сделать подобным образом:...

Программное удаление приложения - Программирование Android
Реально ли из android-приложения деинсталлировать другое android-приложение?

Завершение потока - Программирование Android
Необходимо корректно завершить поток. Сейчас код такой class MyThread extends Thread { private void method() throws...

Завершение сервиса - Программирование Android
вот метод завершающий сервис в основной активности: public void onClickStop(View v) { stopService(new Intent(this,...

Завершение потока AsyncTask - Программирование Android
Доброго времени суток. Возникла проблема с закрытием потока. Первый раз код выполняется и все норм, но т.к. при нажатии на кнопку...

Коректное завершение программы - Программирование Android
Есть главное activity, которое запускает сервис. Сервис выполняет длительную операцию. При нажатии Back приложение сворачивается, сервис...

Поиск и завершение всех Service программы - Программирование Android
Как убить все сервисы при выходе? У меня прога запускает в ходе работы четыре сервиса которые следят друг за другом и в случаи падения...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dr_yand
156 / 138 / 6
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
29.03.2013, 12:42     Программное завершение приложения #2
System.exit()
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 251
29.03.2013, 12:54  [ТС]     Программное завершение приложения #3
Вот такой вариант почему то всерн не выходит а перескакивает на предыдущую активность
Java
1
2
3
4
5
6
7
8
@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        if(keyCode==KeyEvent.KEYCODE_BACK){
            System.exit(0);
        }
        return super.onKeyDown(keyCode, event);
    }
Что не так?
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
29.03.2013, 13:53     Программное завершение приложения #4
JIyrApy, System.exit срабатывает но Android восстанавливает приложение скорее всего так как это нарушает Activity Lifecycle. Кстати гугл не рекомендует помещать в программы возможность выхода из приложения посредством всяких кнопочек подробнее тут http://*******/g2Crc
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 251
29.03.2013, 14:18  [ТС]     Программное завершение приложения #5
А как то можно очистить список активностей, чтобы при нажатии на кнопку "Назад" приложение считало, что это единственная запущенная его активность? Ну или как то финишировать все предыдущие активности приложения из одной, центральной активности?
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
29.03.2013, 15:59     Программное завершение приложения #6
JIyrApy, зачем при нажатии Back срабатывает событие onBackPressed которое по умолчанию завершает активность вызывая finish().
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.03.2013, 16:00     Программное завершение приложения #7
а почему бы не завершать текущую активити при переходе но новую? тогда не останутся висеть предыдущие активити.
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 251
29.03.2013, 16:13  [ТС]     Программное завершение приложения #8
Да такой вариант с закрытием текущей активности конечно хорош, но тут есть загвоздка. Вот на примере:

главная активность -> дочерняя активность -> дочерняя активность -> дочерняя активность -> и тд. То есть из дочерней активности вызывается ее дочерняя активность и тд. И предусмотрено из любой дочерней активности сделать возврат сразу на главную активность (минуя все обратные переходы, вызовом намерения главной активности). Вместе с тем можно из дочерней активности вернуться на предыдущую родительскую активность (грубо говоря, back).

Проблема в том, что если завершать родительские активности, переходя на дочерние - то теряется возможность возврата в родителя (back) - а это нужно.

Ну а если не завершать, то получается следующее. зашел я в какую-нить глубокую активность и вернулся из нее в главную активность. И теперь, если нажать в главной активности "Назад" - то ясен пень она вернется в ту самую глубокую активность, а не завершит приложение. Вот я и хочу найти способ, чтобы при нажатии на кнопку "Назад" в главной активности в любом случае приложение закрывалось
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
29.03.2013, 16:37     Программное завершение приложения #9
JIyrApy, а если так

Java
1
2
moveTaskToBack(true);
super.onBackPressed();
http://stackoverflow.com/questions/2...een-on-android
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 251
29.03.2013, 17:16  [ТС]     Программное завершение приложения #10
Ха. Ну в принципе пойдет, приложение пропадает) Правда, если восстановить из списка скрытых активностей, всерн появляется не главная активность, а предыдущая дочерняя, но ниче, это уже издержки. Спасибо большое за вариант решения
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.03.2013, 21:11     Программное завершение приложения #11
так и не понял что мешает закрывать каждую активити при переходе и написать логику переходу к радительской активити.

а чтобы попасть на главную закрыв все дочерные можно воспользоваться флагом FLAG_ACTIVITY_CLEAR_TOP
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 251
30.03.2013, 11:09  [ТС]     Программное завершение приложения #12
Шикааарно! FLAG_ACTIVITY_CLEAR_TOP - то что нужно. В довесок допилил переходы назад - теперь вообще все как надо. Спасибо всем откликнувшимся!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2013, 21:22     Программное завершение приложения
Еще ссылки по теме:

Завершение предыдущего активити (удаление из стека) - Программирование Android
товарищи, подскажите способы завершения предыдущего активити в стеке, чтобы по нажатию клавиши "назад" из последующего я уже не возобновлял...

Программное масштабирование - Программирование Android
Доброе время суток. Возникла проблема с масштабированием при поддержки разных экранов разных производителей. Для масштабирования...

Программное удаление SMS - Программирование Android
Добрый день. Необходимо удалить только что пришедшее смс от определенного отправителя. В интернете нашел, что используют следующий код: ...

Программное добавление элементов - Программирование Android
Уважаемы подскажите такую ситуацию, не могу немного понять...Как на Relative разметке программно добавлять элементы, чтобы их можно было...

Программное создание layout - Программирование Android
Впервые приходится создавать экран полностью через класс. Не могу понять, как должны привязываться компоненты: снизу вверх или сверху вниз?...


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

Или воспользуйтесь поиском по форуму:
lifestyle
Mobile Developer
232 / 228 / 4
Регистрация: 10.05.2009
Сообщений: 917
01.04.2013, 21:22     Программное завершение приложения #13
Ни в коем случае не пользуйтесь System.exit(0);
1) Потом не расхлебать последствий при поддержке приложения
2) Противоречие философии Андроида
3) Есть набор флагов позволяющий сделать все необходимое, не возвращаться к предыдущим Активити при нажатии кнопки Back - SingleTop or singleInstance , изьятие приложения из истории (recents app) и т.п.
читайте документацию
Yandex
Объявления
01.04.2013, 21:22     Программное завершение приложения
Ответ Создать тему
Опции темы

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