Подтвердить что ты не робот

Перехват кнопки "Назад"

Я пишу приложение, которое будет иметь два действия, когда пользователь нажимает кнопку "Назад" во втором действии, и появится диалоговое окно с просьбой подтвердить действие. Итак, как мне это перехватить? Я серьезно сомневаюсь в этом, потому что backstack является частью самой ОС. Кто-нибудь нашел обходное решение?

4b9b3361

Ответ 1

В действии вы можете просто переопределить

onBackPressed()

edit: это api lvl 5+:/for 4 и ниже вы должны переопределить onKeyDown()

Ответ 2

Просто переопределите метод onKeyDown в своей деятельности и найдите кнопку "Назад". Верните true так, чтобы событие было потреблено.

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        //Do something here
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

Ответ 3

Как отметил schwiz, вы хотите переопределить метод onBackPressed() в своем классе активности (http://developer.android.com/reference/android/app/Activity.html#onBackPressed()).

Я просто хотел добавить, что если бы вы захотели на какой-то стадии продолжить или получить доступ к стандартным обратным операциям (после того, как, скажем, отобразив диалог), вы просто вызываете super.onBackPressed() или ActivityName.super.onBackPressed() из любого места в активность.