private long mExitTime;//保存上次点击back键的系统时间
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if ((System.currentTimeMillis() - mExitTime) > 2000) {//时间相隔大于2s吐司提醒
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
mExitTime = System.currentTimeMillis();
} else {//否则退出应用
finish();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
如上代码所示,在主Activity中重写onKeyDown方法即可(如果 onKeyDown 无响应,可以改用 dispatchKeyEvent,一般的 Activity 用 onKeyDown 就可以了),效果如下: