Какова цель использования метода moveTaskToBack() в android?
Я использую метод moveTaskToBack() в своей деятельности.
Когда я нажимаю кнопку назад, активность все еще видна. Задняя клавиша не работает. Что я сделал здесь неправильно? Я хочу вернуться к предыдущему действию.
public void onBackPressed() {
// TODO Auto-generated method stub
moveTaskToBack(true);
new Finalizer().killApp(false);
super.onBackPressed();
}
Ответы
Ответ 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();
}
Теперь он отлично работает в любых ситуациях. Когда я нажимаю Назад, приложение закрывается.