android - android中退出应用程序的方法

标签 android

我有一个 HomeActivity (用于在 3 秒内显示启动屏幕),然后自动重定向到 LoginActivity (用于检查用户登录信息)。 在 LoginActivity 中,我有一个用于退出应用程序的退出按钮,代码如下

        // TODO Auto-generated method stub
         finish();
         android.os.Process.killProcess(android.os.Process.  myPid());
         System.exit(0);

我再次在 onDestroy() 中使用了相同的代码。 但是,当我尝试退出应用程序时,程序被牢牢关闭。但仍保留在内存中(在后台应用程序列表中)。怎么解决呢?

最佳答案

调用以下方法不是一个好主意:

android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);

因为android会自动处理进程。 另外,从最近使用的应用中排除您的应用也不是正确的行为。

顺便说一句,您可以将其放在 list 中的“退出” Activity 标签下:

android:excludeFromRecents="true" 

当应用程序关闭时,它不会出现在最近使用的应用程序中

编辑

如果它在 Android 5.0 中不起作用,则这是一个已报告的错误,因此请添加 taskAffinity 属性并使用 autoRemoveFromRecents:

android:taskAffinity=".YourExitActivity"
android:autoRemoveFromRecents="true"

然后在您的onPause()中您可以检查sdk版本以使用finishAndRemoveTask:

if(android.os.Build.VERSION.SDK_INT >= 21) {
    finishAndRemoveTask();
} else {
    finish();
}

关于android - android中退出应用程序的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31871618/

相关文章:

android - 如何在 Kivy 中添加滚动文本小部件?

android - 空对象引用上的 getApplicationContext()

android - Card IO Android SDK 与 Braintree Android SDK 冲突?

android - 检查 ParseFile 是否为空

android - "EditText and TextView"在 android 中用千位分隔符 (,) 格式化

android - 如何查看正在使用媒体播放器播放的广播音频的标题/艺术家?

java - Android 相机示例 NullPointerException

Android 最低内存量

android - 在 Android 中启动 Activity 清除顶部

android - .xml 文件中的 android 和 android2 字段有什么区别?