目的
双击返回键退出应用 很早之前就是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 版权协议,转载请附上原文出处链接和本声明。