目的

双击返回键退出应用 很早之前就是Android中非常常见的一种功能,而目前好多安卓应用为了应用常驻都改为使用 单击返回键返回桌面 ,这篇文章将对相关内容做个简单记录。

基础说明

本文提到的这两个功能主要需要涉及的内容有下面一些。

返回键被按下事件回调:

// 方法一
@Override
public void onBackPressed() {
	// 返回键被按下
    // TODO
}

// 方法二
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // 判断是否是返回键
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
        // TODO
        return true;
    }
    // 不是返回键则执行系统默认行为
    return super.onKeyDown(keyCode, event);
}

退出应用程序:

this.finish(); // 关闭activity
System.exit(0); // 退出进程

返回桌面:

// 方法一
moveTaskToBack(true);

// 方法二
Intent intent= new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

双击返回键退出应用

这个功能主要就是记录每次返回键被按下的时间,若两次按下事件间隔小于一定值则退出应用程序,代码与演示如下:

private long mPressedTime = 0; // 用于记录返回键按下时间

@Override
public void onBackPressed() {
    long mNowTime = System.currentTimeMillis(); // 获取当前时间
    if ((mNowTime - mPressedTime) > 2000) {
        // 和前一次按返回键时间差大于2000ms,给出提示并记录这次按键时间
        Toast.makeText(this, "再按一次返回键退出应用程序", Toast.LENGTH_SHORT).show();
        mPressedTime = mNowTime;
    } else {
        // 和前一次按返回键时间差小于等于2000ms,退出应用程序
        this.finish(); // 关闭activity
        System.exit(0); // 退出进程
    }
}

在这里插入图片描述

单击返回键回到桌面

这个功能就非常简单的,直接看下面演示即可:
在这里插入图片描述

总结

双击返回键退出应用单击返回键返回桌面 这两个功能总体来说实现起来非常简单,参考上面内容基本就够用。


版权声明:本文为Naisu_kun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Naisu_kun/article/details/128184228