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();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容