如何杀死所有我的应用程序的活动?
-
25-09-2019 - |
题
我如何能杀死我的应用程序的所有活动?
我试图使用this.finish()
但它只是杀死一种活性。
其实,我当用户触摸后退按钮(仅在活动之一)一样,应用程序执行相同的,如果他按下Home键。
解决方案
您可以在AndroidManifest.xml中所有的活动设置android:noHistory="true"
。因此,他们不会将自己推上了历史堆栈和后退按钮将带您到主屏幕。
其他提示
此之前已经讨论过很多次。本质上有没有简单的方法,而且有不应该是。用户按Home键退出你的应用程序(如你所指出的那样)。
重写onBackPressed
方法,并做时,他们按home键会发生什么。这不是真的关闭所有的活动,但你要问的是,在从事某种活动的背部按模拟home键。
@Override
public void onBackPressed() {
Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
startActivity(i);
}
当你按下背面放置在一个活动会回家。请注意,原来实行的onBackPressed
方法包括超级呼叫,它故意删除。我知道这个问题是超级老了,但他明确地要求别的东西。
要杀死所有的活动,则使用上onBackPressed这些代码。
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount()>0) {
getFragmentManager().popBackStackImmediate();
} else {
finishAffinity();
System.exit(0);
}
}
不隶属于 StackOverflow