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){
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
开始先定义一个long类型的退出时间 exitTime =0;
再重写onKeyDown();方法判断按下的是不是返回键并且是不是按下的操作;
再用当前的时间减去exitTime,第一次运行肯定是大于2000的,这里设置的2000,是两次按返回键退出的间隔,自己定义时间,
运行if语句里边的代码,这样给exitTime设置当前的时间,并提示用户再按一次退出。当用户再次点击返回键的时候这是如果两次的间隔小于2000就会执行else中的代码,就会退出程序。