Имитация нажатия на кнопку back.

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
long_island
Сообщения: 8
Зарегистрирован: 06 июл 2013, 18:14

Имитация нажатия на кнопку back.

Сообщение long_island » 09 июл 2013, 01:17

Подскажите пожалуйста как программно нажать эту кнопку.

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Имитация нажатия на кнопку back.

Сообщение anber » 09 июл 2013, 09:33

long_island писал(а):Подскажите пожалуйста как программно нажать эту кнопку.

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

this.dispatchKeyEvent(new Keyevent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK)); 
или

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

finish();
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

long_island
Сообщения: 8
Зарегистрирован: 06 июл 2013, 18:14

Re: Имитация нажатия на кнопку back.

Сообщение long_island » 09 июл 2013, 14:46

anber, спасибо.

Аватара пользователя
-Alex-
Сообщения: 30
Зарегистрирован: 26 ноя 2013, 09:40

Re: Имитация нажатия на кнопку back.

Сообщение -Alex- » 05 дек 2013, 13:21

Добрый день.

Подскажите, пожалуйста.
Какой метод необходимо использовать для выхода из приложения?
finish() возвращает меня на предыдущее активити (что правильно наверное, так как это имитация Back).
А что надо использовать для выхода из приложения (с первого активити).

Спасибо.

Nik
Сообщения: 63
Зарегистрирован: 08 ноя 2013, 21:17
Откуда: Pyatigorsk
Контактная информация:

Re: Имитация нажатия на кнопку back.

Сообщение Nik » 05 дек 2013, 13:23

-Alex- писал(а):Добрый день.

Подскажите, пожалуйста.
Какой метод необходимо использовать для выхода из приложения?
finish() возвращает меня на предыдущее активити (что правильно наверное, так как это имитация Back).
А что надо использовать для выхода из приложения (с первого активити).

Спасибо.
System.exit(0); либо onDestroy()

Аватара пользователя
-Alex-
Сообщения: 30
Зарегистрирован: 26 ноя 2013, 09:40

Re: Имитация нажатия на кнопку back.

Сообщение -Alex- » 05 дек 2013, 13:29

Nik писал(а): System.exit(0); либо onDestroy()
Спасибо, что откликнулись. А есть другие способы?
System.exit(0) - отрабатывает только,если я первый раз зашел в активити. А если я уже был до нажатия на кнопку в других активити, то нажание кнопки возвращает меня в предыдущее активити.
onDestroy() - вообще никак не реагирует на кнопку.

Nik
Сообщения: 63
Зарегистрирован: 08 ноя 2013, 21:17
Откуда: Pyatigorsk
Контактная информация:

Re: Имитация нажатия на кнопку back.

Сообщение Nik » 05 дек 2013, 13:32

-Alex- писал(а):
Nik писал(а): System.exit(0); либо onDestroy()
Спасибо, что откликнулись. А есть другие способы?
System.exit(0) - отрабатывает только,если я первый раз зашел в активити. А если я уже был до нажатия на кнопку в других активити, то нажание кнопки возвращает меня в предыдущее активити.
onDestroy() - вообще никак не реагирует на кнопку.
лично я делаю так - при переходе на новое активити

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

Intent intent = new intent(this, NEWACTIVITY.class);
startActivity(intent);
finish();//здесь закрываю действующее активити

Аватара пользователя
-Alex-
Сообщения: 30
Зарегистрирован: 26 ноя 2013, 09:40

Re: Имитация нажатия на кнопку back.

Сообщение -Alex- » 05 дек 2013, 13:40

Спасибо, везде прописал finish(); и по System.exit(0) теперь все нормально отрабатывает.
Странно, что onDestroy() никак не реагирует.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Имитация нажатия на кнопку back.

Сообщение Foenix » 05 дек 2013, 13:42

Ну что тут странного? onDestroy - это событие!
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
-Alex-
Сообщения: 30
Зарегистрирован: 26 ноя 2013, 09:40

Re: Имитация нажатия на кнопку back.

Сообщение -Alex- » 05 дек 2013, 14:57

Подскажите, а можно ли имитировать нажатие произвольной кнопки?

Например, мне надо в AlertDialog по нажатию BUTTON_POSITIVE выполнять какие-то действия, а потом выйти в другой активити.
В настоящий момент, если поставить в тело Dialog.BUTTON_POSITIVE значение finish(), то вся программа закрывается полностью (происходит выход из приложения).
Вот хотелось бы имитировать кнопку "Назад", которая есть в активити, в котором вызывается AlertDialog.
Заранее спасибо!

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Имитация нажатия на кнопку back.

Сообщение Foenix » 05 дек 2013, 15:01

не надо иммитировать глупости
dialog.dismiss();
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
-Alex-
Сообщения: 30
Зарегистрирован: 26 ноя 2013, 09:40

Re: Имитация нажатия на кнопку back.

Сообщение -Alex- » 05 дек 2013, 15:14

Спасибо, что откликнулись.
Но через dialog.dismiss(); не получилось.
Сделал через Intent.

Ответить