Как убить все действия моего приложения? - PullRequest
2 голосов
/ 31 августа 2010

Как я могу убить все действия моего приложения?

Я пытался использовать this.finish(), но это просто убивает одну активность.

На самом деле, мне бы хотелось, чтобы, когда пользователь нажимал кнопку «Назад» (только в одном из заданий), приложение делало то же самое, как если бы он нажимал кнопку «Домой».

Ответы [ 4 ]

2 голосов
/ 31 августа 2010

Вы можете установить android:noHistory="true" для всех ваших действий на AndroidManifest.xml. Следовательно, они не будут помещаться в стек истории, а кнопка возврата приведет вас на домашний экран.

1 голос
/ 31 августа 2010

Это уже много раз обсуждалось.По сути, нет простого пути, и не должно быть.Пользователи нажимают Домой, чтобы закрыть ваше приложение (как вы указали).

0 голосов
/ 12 июля 2017

Чтобы убить все действия, используйте этот код на onBackPressed.

@Override
public void onBackPressed() {
    if (getFragmentManager().getBackStackEntryCount()>0) {
       getFragmentManager().popBackStackImmediate();            
    } else {
          finishAffinity();
          System.exit(0);
    }
}
0 голосов
/ 15 июня 2016

Переопределите метод onBackPressed и делайте то, что происходит, когда они нажимают кнопку «Домой». Это на самом деле не закрывает все действия, но то, что вы спрашиваете, заключается в том, что обратное нажатие в определенном упражнении эмулирует кнопку возврата.

@Override
public void onBackPressed() {
    Intent i = new Intent(Intent.ACTION_MAIN);
    i.addCategory(Intent.CATEGORY_HOME);
    startActivity(i);
}

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

...