0

I need to finish an application when it goes to the background, I'm using method finishAffinity() but it seems it does not work, someone can tell me another alternative

  @Override
    protected void onPause() {
    finishAffinity()
    super.onPause();
}
4

1 回答 1

1

这是答案

finishAffinity() 不用于“关闭应用程序”。它用于从当前任务(可能包含属于多个应用程序的 Activity)中删除属于特定应用程序的多个 Activity。

即使您完成了应用程序中的所有活动,托管您的应用程序的操作系统进程也不会自动消失(就像调用 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();
    }
}

来源并阅读更多

于 2019-03-05T10:43:41.943 回答