我如何能杀死我的应用程序的所有活动?

我试图使用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);
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top