Как завершить приложение, когда оно уходит в фоновом режиме

1

Мне нужно завершить приложение, когда оно уходит в фоновом режиме, я использую метод finishAffinity() но, кажется, это не работает, кто-то может сказать мне другую альтернативу

  @Override
    protected void onPause() {
    finishAffinity()
    super.onPause();
}
Теги:
android-ondestroy
android-lifecycle
systemexit

1 ответ

1

Здесь ответь

finishAffinity() не используется для "закрытия приложения". Он используется для удаления нескольких действий, принадлежащих определенному приложению, из текущей задачи (которые могут содержать действия, принадлежащие нескольким приложениям).

Даже если вы завершите все действия в вашем приложении, процесс ОС, на котором размещено ваше приложение, автоматически не исчезнет (как это происходит при вызове System.exit()). Android в конечном итоге убьет ваш процесс, когда он доберется до него. Вы не можете контролировать это (и это намеренно).

Вы можете использовать это

    public void endTask() {
    // Is the user running Lollipop or above?
    if (Build.VERSION.SDK_INT >= 21) { 
        // If yes, run the fancy new function to end the app and
        //  remove it from the task list.
        finishAndRemoveTask();
    } else {
        // If not, then just end the app without removing it from
        //  the task list.
        finish();
    }
}

Источник и перевод

Ещё вопросы

Сообщество Overcoder
Наверх
Меню