2

我怎样才能杀死我的应用程序的所有活动?

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

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

4

4 回答 4

2

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

于 2010-08-31T14:34:20.373 回答
1

这个之前已经讨论过很多次了。本质上没有简单的方法,也不应该有。用户按 Home 退出您的应用程序(正如您所指出的)。

于 2010-08-31T14:31:32.183 回答
0

覆盖该onBackPressed方法,并执行当他们按下主页按钮时发生的事情。它并没有真正关闭所有活动,但您要问的是某个活动中的后按模拟主页按钮。

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

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

于 2016-06-15T08:06:16.167 回答
0

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

@Override
public void onBackPressed() {
    if (getFragmentManager().getBackStackEntryCount()>0) {
       getFragmentManager().popBackStackImmediate();            
    } else {
          finishAffinity();
          System.exit(0);
    }
}
于 2017-07-12T19:53:52.177 回答