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

时间:2010-08-31 14:25:48

标签: android android-activity back-button android-homebutton

如何杀死我申请的所有活动?

我尝试使用this.finish(),但它只会杀死一个活动。

事实上,我想当用户触摸后退按钮时(仅在其中一个活动中),应用程序就像按下Home按钮一样。

4 个答案:

答案 0 :(得分:2)

您可以在AndroidManifest.xml上为所有活动设置android:noHistory="true"。因此,他们不会将自己置于历史堆栈中,后退按钮会将您带到主屏幕。

答案 1 :(得分:1)

之前已多次讨论过这个问题。基本上没有简单的方法,而且不应该这样。用户按Home退出您的应用程序(正如您所指出的那样)。

答案 2 :(得分:0)

覆盖onBackPressed方法,并按下主页按钮时执行操作。它没有真正关闭所有活动,但你要问的是某个活动中的背压模拟主页按钮。

@Override
public void onBackPressed() {
    Intent i = new Intent(Intent.ACTION_MAIN);
    i.addCategory(Intent.CATEGORY_HOME);
    startActivity(i);
}

当您按下时,将其放入活动中将会回家。请注意,onBackPressed方法的原始实现包括对super的调用,它是故意删除的。我知道这个问题已经超级老了,但他明确地问了别的什么

答案 3 :(得分:0)

要杀死所有活动,请在onBackPressed上使用这些代码。

@Override
public void onBackPressed() {
    if (getFragmentManager().getBackStackEntryCount()>0) {
       getFragmentManager().popBackStackImmediate();            
    } else {
          finishAffinity();
          System.exit(0);
    }
}
相关问题