Вопрос

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

Я пытался использовать 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);
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top