如何让应用程序完全关闭(干净利落)

时间:2016-02-03 18:25:36

标签: android codenameone

我想添加“退出”功能。

Display.getInstance().exitApplication();几乎可以工作,但离开了 在android打开的应用程序视图中的“ghost”窗口后面。

3 个答案:

答案 0 :(得分:0)

为什么不完成所有ActivitiesServices,并将每个其他引用设置为null。

如果您有单独的应用程序单例,那么这将使您处于活动状态。

答案 1 :(得分:0)

Application上的每个android OS就像User中的Linux OS一样,每个应用都在process中运行Process ID分配给它的应用程序不知道,但是如果我们终止进程并且整个应用程序将停止。

您可以这样做。

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

但这会重新启动您activity的第一个application,因为android会尝试恢复Application,您可以通过这样的主屏幕来避免这种情况

Intent  intent = new Intent(Intent.ACTION_MAIN);
            intent.addCategory(Intent.CATEGORY_HOME);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
            finish();

答案 2 :(得分:0)

Display.exitAppliction是退出应用的唯一方法,但不会从任务切换器中删除。感谢@ david-medenjak的评论,我找到了这个:

android:noHistory="true"

使用它只需使用:

android.xactivity=android:noHistory="true"

在您的构建提示中,应用程序根本不会出现在历史记录中。但正如人们所说,这是一个非常糟糕的做法...

在iOS中,如果你包含一个退出按钮,你的应用将会被评论拒绝,除非它是一个“注销”按钮。典型的移动应用程序从未真正退出,只是出于安全目的而退出。

如果需要资源,操作系统会终止您的应用。请注意,这很重要,因为移动应用经常停止/重新启动,例如来电。