基本思路:监听返回的按键,先记录一个原始变量时间值,每次点击返回的时候让它等于当前的系统时间值,就是你点击的上一刻的时间值。
如果发现中间的时间间隔 小于2秒就直接退出程序; 如果大于 2s那就return掉,相当于第一次点击。
public class MainActivity extends Activity {
private long exitTime = 0;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { // 判断2次点击事件时间
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);
}
}