完全退出Android应用程序

时间:2014-06-29 11:22:11

标签: android exit logout activity-finish

我想点击退出按钮退出整个应用。实际上我使用退出按钮而不是注销。因此,每当用户点击它时,它应该完成完整的应用程序,但它只会破坏上次运行的活动。我现在应该怎么做? 我在我的代码中使用此方法,任何帮助将不胜感激,提前感谢。

         public void exit(View v){
                finish();
                System.exit(0);
            }

我还使用了以下代码,但它只会杀死最后一次运行的活动而不是完整的应用程序。

             public void exit(View v){
                android.os.Process.killProcess(android.os.Process.myPid());
                System.exit(1);
            }

5 个答案:

答案 0 :(得分:8)

还有一种方法可以完全杀死你的应用。最小化它,Android系统将在必要时自动终止它。为此,

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

此外,这个SO问题可能有所帮助:How to close android app completely

答案 1 :(得分:2)

如果你真的,真的必须这样做:

public void exit(View v){
    finish();
    android.os.Process.killProcess(android.os.Process.myPid());
}

答案 2 :(得分:0)

不要在Android应用上放置退出按钮。

请阅读:

Closing Application with Exit button

答案 3 :(得分:0)

如果最低 sdk 版本为 21 及以上。

finishAndRemoveTask()

因此即使从任务列表中,应用程序也会完全关闭。

答案 4 :(得分:-2)

我认为Hans Kratz建议的解决方案并不是最好的解决方案,因为它可能会导致问题,因为资源不会先完成。相反,您应该使用以下代码安全地终止您的应用程序:

public void exit(View v){
     System.runFinalizersOnExit(true);
     System.exit(0);
}

但是真的要考虑两次,因为它不是Android应用程序通常的工作方式。