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,但个人觉得这种方法比较好