Android进阶之“再按一次返回键退出程序”实现

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.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();                                
            exitTime = System.currentTimeMillis();   
        } else {
            finish();
            System.exit(0);
        }
        return true;   
    }
    return super.onKeyDown(keyCode, event);
}

其实现的原理,就是取到你两次点击退出按钮的时间。两次的间隔时间小于2000毫秒时就实现退出,当两次的时间间隔大小2000时,就给用户一个再按一次就退出的提示。怎么样。这样做是不是很方便。当然,还有一个要注意的地方,就是你要在哪个里面实现这个功能,就要在哪个activity中放上这段代码,如果你要放的页面太多,那么你就写一个类,在activity中继承一下这个类就可以了。

你可能感兴趣的:(android)