Страница 1 из 1

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

Добавлено: 09 июл 2013, 01:17
long_island
Подскажите пожалуйста как программно нажать эту кнопку.

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

Добавлено: 09 июл 2013, 09:33
anber
long_island писал(а):Подскажите пожалуйста как программно нажать эту кнопку.

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

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

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

finish();

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

Добавлено: 09 июл 2013, 14:46
long_island
anber, спасибо.

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

Добавлено: 05 дек 2013, 13:21
-Alex-
Добрый день.

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

Спасибо.

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

Добавлено: 05 дек 2013, 13:23
Nik
-Alex- писал(а):Добрый день.

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

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

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

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

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

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

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

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

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

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

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

Добавлено: 05 дек 2013, 13:42
Foenix
Ну что тут странного? onDestroy - это событие!

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

Добавлено: 05 дек 2013, 14:57
-Alex-
Подскажите, а можно ли имитировать нажатие произвольной кнопки?

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

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

Добавлено: 05 дек 2013, 15:01
Foenix
не надо иммитировать глупости
dialog.dismiss();

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

Добавлено: 05 дек 2013, 15:14
-Alex-
Спасибо, что откликнулись.
Но через dialog.dismiss(); не получилось.
Сделал через Intent.