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);
    }

相关文章:

  • 2022-12-23
  • 2022-01-27
  • 2021-12-14
  • 2021-11-06
猜你喜欢
  • 2021-11-14
  • 2021-12-06
  • 2022-12-23
  • 2021-11-04
  • 2021-10-27
  • 2021-12-06
  • 2022-12-23
相关资源
相似解决方案