我正在尝试使用此方法关闭带有按钮的应用程序:System.exit(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 对 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.
如果您正在寻找导航,请使用操作栏和导航栏。
不建议这样做,但这应该会完全关闭该应用程序。
android.os.Process.killProcess(android.os.Process.myPid());
要正常退出,您应该只Finish()
从您的主要活动中调用。