Activity 中定义成员变量:
private Long firstClickTime = 0l; //记录第一次点击时间
重载OnKeyDown方法
代码:
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { long secondTime = System.currentTimeMillis(); // 获取当前时间 if ((secondTime-firstClickTime) > 1000) { // 判断第二次与第一次点击是否超过1000毫秒 new MessageDiglog().AlertMessage( VehicleScheduleSummaryActivity.this, R.string.InfoMessage_onclickExit, false); firstClickTime = secondTime; // 两次间隔超过1000毫秒,提示并更新首次点击时间 } else { ((MyApplication) getApplication()).exit(); // 两次间不超过1000毫秒,退出系统 } return true; } else { return super.onKeyDown(keyCode, event); } }
也可通过Handler,但个人觉得这种方法比较好