利用handler实现简单的双击退出程序。
1、首先在activity中复用onKeyDown(int keyCode, KeyEvent event)方法,在方法里判断点击的动作是否是点击返回键的动作,接着 在里面霍霍操作就像啦
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode== KeyEvent.KEYCODE_BACK) {
exit();
return false;
}
return super.onKeyDown(keyCode, event);
}
创建handler来实现延迟
private Handler mHandler = new Handler(){
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
isExit = false;
}
};
接着是exit()方法
private void exit() {
if (!isExit) {
isExit = true;
toast("再按一次退出程序。");
//那个1随便一个都可以 2000是时间 //单位是毫秒
mHandler.sendEmptyMessageDelayed(1, 2000);
} else {
finish();
}
}
原理就是当用户点击第一次的时候 就开始延迟2000毫秒并给出提示 在这短时间内点击返回键都会退出程序。是不是很简单 欢迎指正。