首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在应用程序转到后台时完成它

如何在应用程序转到后台时完成它
EN

Stack Overflow用户
提问于 2019-03-05 07:38:42
回答 1查看 432关注 0票数 0

当应用程序转到后台时,我需要完成它,我使用的是方法finishAffinity(),但它似乎不起作用,有人可以告诉我另一个替代方法

代码语言:javascript
复制
  @Override
    protected void onPause() {
    finishAffinity()
    super.onPause();
}
EN

回答 1

Stack Overflow用户

发布于 2019-03-05 18:43:42

这是answer

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

即使您完成了应用程序中的所有活动,托管您的应用程序的OS进程也不会自动消失(就像您调用System.exit()时一样)。Android最终会在你的进程接近它的时候杀死它。您无法控制这一点(这是故意的)。

你可以使用这个

代码语言:javascript
复制
    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();
    }
}

和阅读更多内容

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54993275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档