0

我正在尝试使用此方法关闭带有按钮的应用程序:System.exit(0); 但我回到其他活动!我该如何解决?谢谢

4

2 回答 2

2

你不应该使用System.exit(0). 改用finish(). finish将从活动返回堆栈中弹出活动并销毁它。后台堆栈中的先前活动成为焦点。

查看 Dianne Hackborn 的此链接和评论

https://groups.google.com/forum/#!topic/android-developers/Zhd1fRfHAAQ

检查此链接和 Romain Guy 的评论

https://groups.google.com/forum/#!topic/android-developers/G_D3pKnGLt0

引用波士顿街道的评论

https://groups.google.com/forum/#!topic/android-developers/Y96KnN_6RqM

你不应该调用 System.exit()。它可能会扰乱 Android 对 Activity 生命周期的处理并导致尴尬的用户体验(例如,在终止进程时,您启动 Activity 的前一个 Activity 也可能消失。Android 可能会尝试再次重新启动该进程并重新创建意外杀死的父活动。但仍然如此)。

public static void exit (int code)

Added in API level 1
Causes the VM to stop running and the program to exit. If runFinalizersOnExit(boolean) has been previously invoked with a true argument, then all objects will be properly garbage-collected and finalized first.

Parameters
code    the return code.

退出应用程序不受欢迎吗?

如果您正在寻找导航,请使用操作栏和导航栏。

于 2013-09-10T20:03:36.410 回答
1

不建议这样做,但这应该会完全关闭该应用程序。

android.os.Process.killProcess(android.os.Process.myPid());

要正常退出,您应该只Finish()从您的主要活动中调用。

于 2013-09-10T20:08:28.277 回答