Java 退出android应用程序

Java 退出android应用程序,java,android,exit,Java,Android,Exit,我尝试了一些退出应用程序的方法,但每种方法都会使应用程序最小化。我想关闭应用程序,而不是最小化它。退出按钮处于维护状态 现在我调用这个函数,它可以工作,但不是我所需要的 public void AppExit() { this.finish(); Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Inte

我尝试了一些退出应用程序的方法,但每种方法都会使应用程序最小化。我想关闭应用程序,而不是最小化它。退出按钮处于维护状态

现在我调用这个函数,它可以工作,但不是我所需要的

public void AppExit()
{
    this.finish();
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}
我知道这个问题被问了很多,但我无法找到我所需要的解决方案

根据你的建议,我使用这个函数

public void AppExit()
    {
        System.exit(0);
        finish();

    }

请尝试使用以下单行代码:

System.exit(0);

您需要带着意图导航到主活动。标记\活动\清除\顶部,向它传递一些数据,它将知道您正在退出应用程序。完成你的主要活动


另一个建议是Kamlesh Arya答案。无论如何,这是一种不好的做法,因为它不会破坏活动堆栈,下次应用程序使用午餐时,它将不会从主活动开始,而是从上一个活动开始。

如果您想退出再次启动活动的原因。 仅使用此.finish(),删除其他语句。
查看活动生命周期了解更多信息。在您的代码中,可以放置finish();在startActivity之后,这可能会有所帮助(对我有帮助)

然而,如何做到这一点是指导方针已经采用的方式。后退按钮确实会关闭应用程序。如果你按下后退按钮,然后重新启动你的应用程序,你将进入第一页活动,而不是你离开的地方

关于“后退”按钮,如果您对其不满意,您可以覆盖它以控制其功能。您可以将代码放入其中,当用户按下后退按钮时,它将执行代码。用户更习惯于按后退按钮,而不是布局中的按钮(我猜这就是您可能正在做的)


如果您坚持现有功能,这可能会有所帮助:

后退按钮将自动执行此操作。.后退按钮最小化不关闭app@Empi虽然System.exit()可以工作,但在Android中,
finish()
是正确的方法。“最小化”就足够了;如果需要回收内存,安卓会将其杀掉。安卓中没有“被切碎”这样的东西。这不是桌面操作系统。应用程序位于前台(活动)或后台(非活动)。Home或back将应用程序置于后台。应用程序是否“退出”取决于Android。您不应该尝试自己退出应用程序(除非您需要停止后台服务)。如果你这样做,你将干扰Dalvik管理内存和应用程序性能的方式。这是个坏主意。除非您需要在后台停止某些操作,否则不应该有“退出”按钮。thx对于explain SimonThx,我编辑了我的主题,并添加了解决方案,我使用了你的建议很棒,给OP一个错误的方式来处理这个问题,并添加到那些认为他们的方式比核心操作系统的设计方式更好并且对系统性能有负面影响的应用程序和开发人员的总数中。有多少次你需要说你不再终止一个Android应用程序,就像你不再终止一个网页一样。请给我看一下www.google.com上的退出按钮。5年前,桌面操作系统就有了这种想法。System.exit(0)甚至不会杀死应用程序-我打赌你不知道它会做什么-1@Simon.if你认为我的解决办法并不比我亲爱的朋友有效。你为什么不想出一个更好的解决办法,尽管责备别人。!我已经在评论中给出了正确的答案。其他几个人也有。正确的答案是什么都不做,让Android来处理应用程序是被保留在后台还是被销毁。如果OP真的想这样做,那么在活动上使用
finish()
,但这更多地与导航堆栈有关,而不是OPs问题。