实现原理就是:每次返回键进行监听,判断两次返回键的间隙时间
//退出时的时间
private long mExitTime;
//对返回键进行监听
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
exit();
return true;
}
return super.onKeyDown(keyCode, event);
}
//退出方法
private void exit() {
if ((System.currentTimeMillis() - mExitTime) > 2000) {
Toast.makeText(MainActivity.this, "再按一次退出应用", Toast.LENGTH_SHORT).show();
mExitTime = System.currentTimeMillis();
} else {
//用户退出处理
finish();
System.exit(0);
}
}