如何终止我的应用程序的所有活动?

发布于 2024-09-17 18:29:26 字数 127 浏览 7 评论 0原文

如何终止我的应用程序的所有活动?

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

事实上,我希望当用户触摸后退按钮(仅在其中一个活动中)时,应用程序执行与按下主页按钮相同的操作。

How can I kill all the Activities of my application?

I tried using this.finish() but it just kills one Activity.

In fact, I would like when the user touches the back button (in only one of the activities), the application to do the same as if he pressed the Home button.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

遇见了你 2024-09-24 18:29:26

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

You can set android:noHistory="true" for all your activities at AndroidManifest.xml. Hence they will not place themselves onto history stack and back button will bring you to the home screen.

夏花。依旧 2024-09-24 18:29:26

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

This has been discussed many times before. Essentially there's no easy way, and there's not supposed to be. Users press Home to quit your app (as you have pointed out).

不念旧人 2024-09-24 18:29:26

重写 onBackPressed 方法,并执行按下主页按钮时发生的操作。它并没有真正关闭所有活动,但您要求的是某个活动中的后按模拟主页按钮。

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

当您按回键时,将其放入活动中就会返回。请注意,onBackPressed 方法的原始实现包括对 super 的调用,它被故意删除。我知道这个问题太老了,但他明确地问了其他问题

Override the onBackPressed method, and do what happens when they press the home button. It's not really closing all the activities but what you're asking is that the back press in a certain activity emulates the home button.

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

Placing that in an activity will go home when you press back. Note that the original implementation of the onBackPressed method includes a call to super, it's removed on purpose. I know this question is super old, but he's explicitly asking something else

哆兒滾 2024-09-24 18:29:26

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

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

To kill all the activities, use these code on onBackPressed.

@Override
public void onBackPressed() {
    if (getFragmentManager().getBackStackEntryCount()>0) {
       getFragmentManager().popBackStackImmediate();            
    } else {
          finishAffinity();
          System.exit(0);
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文