Android双击Back键退出程序

    我们在使用软件的时候,经常会遇见这种情况:点击返回键,提示“再按返回键退出”。这是为了防止用户的误操作,不小心按到返回键而直接退出应用了,影响到刚才在应用里的操作。连续两次误按返回键的几率会小很多,所以用连按两次返回键来确认用户确实要退出程序。
    在MainActivity(连续按两次Back键要退出的Activity)里,重写onKeyDown()或者onBackPressed(),两种方法。

第一种方法:

private long exitTime = 0;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
        if ((System.currentTimeMillis() - exitTime) > 2000) {
            toast("再按一次退出程序");
            exitTime = System.currentTimeMillis();
        } else {
            finish();
            System.exit(0);
        }
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

第二种方法:

private boolean quit = false; //设置退出标识 

@Override
public void onBackPressed() {
    if (!quit) { //询问退出程序 
        Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
        new Timer(true).schedule(new TimerTask() { //启动定时任务 
            @Override
            public void run() {
                quit = false; //重置退出标识 
            }
        }, 2000); //2秒后运行run()方法 
        quit = true;
    } else { //确认退出程序 
        super.onBackPressed();
        finish();
    }
}

你可能感兴趣的:(Android双击Back键退出程序)