完全关闭应用程序而不仅仅是一项活动

时间:2013-09-10 19:51:20

标签: java android android-activity

我正在尝试使用此方法关闭应用程序:System.exit(0); 但是我回到了另一个活动!我该如何解决这个问题? 感谢

2 个答案:

答案 0 :(得分: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对您活动生命周期的处理并导致尴尬的用户体验(例如,在杀死该过程时,之前您开展活动的活动可能也会消失.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.

Is quitting an application frowned upon?

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

答案 1 :(得分:1)

不建议这样做,但这应该完全杀掉应用程序。

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

要正常退出,您只需从主要活动中调用Finish()即可。