连续两次按返回键退出程序

方式一

@Override
public void onBackPressed() {


    //1.点击的时间差如果大于2000,则提示用户点击两次退出
    if (System.currentTimeMillis() - mExitTime > 2000) {
        //2.保存当前时间
        mExitTime = System.currentTimeMillis();
        //3.提示
        Toast.makeText(MainActivity.this, "再按一次退出", Toast.LENGTH_LONG).show();
    } else {
        //4.点击的时间差小于2000,调用父类onBackPressed方法执行退出。

        ActivityCollector.finishAll();


    }

}

方式二

  @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        //1.点击返回键条件成立
        if (keyCode == KeyEvent.KEYCODE_BACK
                && event.getAction() == KeyEvent.ACTION_DOWN
                && event.getRepeatCount() == 0) {
            //2.点击的时间差如果大于2000,则提示用户点击两次退出
            if (System.currentTimeMillis() - mExitTime > 2000) {
                //3.保存当前时间
                mExitTime = System.currentTimeMillis();
                //4.提示
                Toast.makeText(MainActivity.this, "再按一次退出", Toast.LENGTH_LONG).show();
            } else {
                //5.点击的时间差小于2000,退出。
                ActivityCollector.finishAll();
            }
            return true;
        }
        return false;
    }

你可能感兴趣的:(Android)