连续点击两次退出当前程序的简单实现,可以直接调用。
忘了原文地址,抱歉
实现的基本原理就是,当按下BACK键时,会被onKeyDown捕获,判断是BACK键,则执行exit方法。
在exit方法中,会首先判断isExit的值,如果为false的话,则置为true,同时会弹出提示,并在2000毫秒(2秒)
后发出一个消息,在Handler中将此值还原成false。如果在发送消息间隔的2秒内,再次按了BACK键,则再次
执行exit方法,此时isExit的值已为true,则会执行退出的方法。
代码:
先定义一个全局变量 Boolean isExit = false;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if(!isExit) {
isExit = true;
Toast.makeText(getApplicationContext(),"再按一次返回键退出",Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable(){
public void run(){
isExit = false;
}
}, 2000);;
return false;
}
}
return super.onKeyDown(keyCode, event);
}