Android的很多app中,都有点击一次返回键提示再次点击退出app的功能。
今天就看了下实现的方式,其实就是在相应的Activity中重写了onKeyDown()方法。在onKeyDown()方法中扑捉到返回键(KeyEvent.KEYCODE_BACK)的点击动作(KeyEvent.ACTION_DOWN),然后做出相应的提示信息和动作。
当然,还需要一个时间参数,不然点击完成等了很久再次点击就会直接退出app了,这显然是不合理的。时间间隔的大小一般而言1,2秒应该就行。
直接在主Activity写入这个方法即可。
// 用来计算返回键的点击间隔时间
private long exitTime = 0;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN) {
if ((System.currentTimeMillis() - exitTime) > 2000) {
//弹出提示,可以有多种方式
ToastUtil.showTextToast(getApplicationContext(), "再按一次退出程序");
exitTime = System.currentTimeMillis();
} else {
finish();
}
return true;
}
return super.onKeyDown(keyCode, event);
}