当应用程序转到后台时,我需要完成它,我使用的是方法finishAffinity()
,但它似乎不起作用,有人可以告诉我另一个替代方法
@Override
protected void onPause() {
finishAffinity()
super.onPause();
}
发布于 2019-03-05 18:43:42
这是answer
finishAffinity()不是用来“关闭应用程序”的。它用于从当前任务中删除属于特定应用程序的多个活动(可能包含属于多个应用程序的活动)。
即使您完成了应用程序中的所有活动,托管您的应用程序的OS进程也不会自动消失(就像您调用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();
}
}
和阅读更多内容
https://stackoverflow.com/questions/54993275
复制相似问题