Как программно нажать кнопку "Назад" в android?

в моем приложении у меня есть функция выхода из системы. Если пользователь нажимает кнопку "Выход" больше. Теперь я выхожу из приложения, нажав кнопку "Назад". Но я хочу, чтобы мне нужно было выйти автоматически(i.E программно) так же, как и функциональность кнопки "Назад". Я знаю, что вызов finish () сделает функциональность. Но дело в том, что он переходит к предыдущей деятельности.

4 ответов


onBackPressed() поддерживается с: API Level 5

 @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if ((keyCode == KeyEvent.KEYCODE_BACK)) {
                onBackPressed();
            }
    }

@Override
    public void onBackPressed() {
        //this is only needed if you have specific things
        //that you want to do when the user presses the back button.
        /* your specific things...*/
        super.onBackPressed();   
    }

вам не нужно переопределять onBackPressed() - Это уже определяется как действие, которое ваша деятельность будет делать по умолчанию, когда пользователь нажал кнопку "Назад". Так что просто позвоните onBackPressed() всякий раз, когда вы хотите "программно нажать" кнопку "Назад".

это приведет только к finish() называют, хотя ;)

Я думаю, вы путаете с тем, что делает кнопка "Назад". По умолчанию, это просто вызов finish(), поэтому он просто выходит из текущей деятельностью. Если у вас что-то есть за этой активностью будет виден экран.

что вы можете сделать, это при запуске вашей деятельности из логина, добавить флаг CLEAR_TOP, чтобы активность входа не будет там, когда вы выходите из своего.


иногда полезно переопределить метод onBackPressed (), потому что в случае, если вы работаете с фрагментами, и вы меняетесь между ними, если вы нажимаете кнопку backbutton, они возвращаются к предыдущему фрагменту.


вызов onBackPressed после переопределения его в вашей деятельности.