很简单的代码。为了像我一样的菜鸟,随便说说思路。
重写onKeyDown()方法监听返回键。每次点击返回键,设置isExit=true hasTask=true,同时启动Timer。两秒后Timer自动启动task,重置isExit和hasTask。
这两秒内如果再次点击返回键,则退出。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Timer exitTimer = new Timer();
TimerTask task = new TimerTask(){
@Override
public void run(){
isExit = false;
hasTask = false;
}
};
if(keyCode == KeyEvent.KEYCODE_BACK){
if(isExit==false){
isExit = true;
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
if(!hasTask){
hasTask=true;
exitTimer.schedule(task, 2000);
}
}else{
finish();
System.exit(0);
}
}
return false;
}