Android实现"再按一次退出"

onKeyDown的返回值:
返回true,以防止此事件被进一步传播。
返回false,表示还没有处理完这个事件,它应该继续传播到其他监听。

mExitTime是一个全局变量,记录时间用。
Android实现"再按一次退出"

  @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        //首先判断用户有没有按下返回键
        if (keyCode==KeyEvent.KEYCODE_BACK){
            //判断用户按下的时间是不是大于2秒,如果大于2秒则认为是失误操作
            if ((System.currentTimeMillis()-mExitTime)>2000){
                Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
                mExitTime=System.currentTimeMillis();//记住当前时间,下次再按返回键时做对比
            }else {
                System.exit(0);//小于2秒推出程序
            }
            return true;//返回true不在往下运行
        }
        return super.onKeyDown(keyCode, event);
    }