Как убить все действия моего приложения?
-
25-09-2019 - |
Вопрос
Как я могу убить все виды деятельности моего приложения?
Я пытался использовать this.finish()
Но это просто убивает одну деятельность.
На самом деле, я хотел бы, когда пользователь прикасает к кнопке назад (только в одной из действий), приложение сделает то же самое, что если он нажал кнопку «Домой».
Решение
Вы можете установить android:noHistory="true"
Для всей вашей деятельности в AndroidManifest.xml. Следовательно, они не будут размещать себя на стек истории и кнопку «Назад» приведет вас на домашний экран.
Другие советы
Это обсуждалось много раз ранее. По сути, нет простого способа, и там не должно быть. Пользователи нажимают домой, чтобы выйти из приложения (как вы указываете).
Переопределять onBackPressed
Способ и делать то, что происходит, когда они нажимают на домашнюю кнопку. Не совсем не закрывает все мероприятия, но то, что вы спрашиваете, является то, что задняя пресса в определенной активности эмулирует домашнюю кнопку.
@Override
public void onBackPressed() {
Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
startActivity(i);
}
Размещение, что в активности пойдет домой, когда вы нажимаете. Обратите внимание, что оригинальная реализация onBackPressed
Способ включает в себя вызов Super, он удален нарочно. Я знаю, этот вопрос супер старый, но он явно спрашивает что-то еще
Чтобы убить все мероприятия, используйте этот код на намотанке.
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount()>0) {
getFragmentManager().popBackStackImmediate();
} else {
finishAffinity();
System.exit(0);
}
}