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

Какова цель использования метода moveTaskToBack() в android?

Я использую метод moveTaskToBack() в своей деятельности.

Когда я нажимаю кнопку назад, активность все еще видна. Задняя клавиша не работает. Что я сделал здесь неправильно? Я хочу вернуться к предыдущему действию.

public void onBackPressed() {
    // TODO Auto-generated method stub
    moveTaskToBack(true);
    new Finalizer().killApp(false);
    super.onBackPressed();
}
4b9b3361

Ответ 1

Цель moveTaskToBack:

http://developer.android.com/reference/android/app/Activity.html

moveTaskToBack (логическое значение nonRoot)

Переместите задачу, содержащую это действие, в конец стека действий.

Что вы могли бы сделать, это:

public void onBackPressed() {
    // TODO Auto-generated method stub
    moveTaskToBack(true); // I don't think you're looking for this.
    new Finalizer().killApp(false); // Neither this.
    super.onBackPressed();
}

Может быть это: Android: вернуться к предыдущему действию Нечто подобное в вашем onBackPressed() после super.OnBackPressed(); Также убедитесь, что когда вы нажимаете кнопку "Назад", вы действительно используете этот метод.

Ответ 2

Если вы вызываете super, он запускает по умолчанию реализацию кнопки "Назад", которая только завершает текущую активность. Попробуйте удалить строку super.onBackPressed();, а затем посмотреть, будет ли новое поведение ожидаемым.

Ответ 3

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

Запустить → isSignIn (да) → MainActivity → нажать Назад → Закрыть.


Запустить → isSignIn (нет) → SignInActivity → нажать Назад → Закрыть.


Запустить → isSignIn (да) → MainActivity → нажмите "Выход" → SignInActivity → нажмите "Назад" → SignInActivity → нажмите "Назад" → SignInActivity (и т.д. В цикле и застряли на SignInActivity пока я не SignInActivity на историю/недавнее приложение /home кнопка).


Запуск → isSignIn (нет) → SignInActivity → Нажмите Вход → MainActivity → Нажмите Выход → SignInActivity → Нажмите Вход → MainActivity → Нажмите Назад → MainActivity → Нажмите Назад → MainActivity (и так на петле и застрял на MainActivity пока я не MainActivity кнопку истории/недавнего приложения/дома).

Теперь я предоставляю этот код как для SignInActivity с кнопкой "Вход", так и для MainActivity с кнопкой "Выход".

@Override
    public void onBackPressed() {
        super.onBackPressed();
        moveTaskToBack(true);
        finish();
    }

Теперь он отлично работает в любых ситуациях. Когда я нажимаю Назад, приложение закрывается.