Android 实现按两次返回键退出程序(两种方法)
Android实现按两次返回键退出程序(两种方法)
第一种方法:
//是否退出程序 privatestaticBooleanisExit=false; //定时触发器 privatestaticTimertExit=null;
第二种方法:
publicbooleanonKeyUp(intkeyCode,KeyEventevent){
if(keyCode==KeyEvent.KEYCODE_BACK){
if(isExit==false){
isExit=true;
if(tExit!=null){
tExit.cancel();//将原任务从队列中移除
}
//重新实例一个定时器
tExit=newTimer();
TimerTasktask=newTimerTask(){
@Override
publicvoidrun(){
isExit=false;
}
};
Toast.makeText(this,"再按一次退出程序",Toast.LENGTH_SHORT).show();
//延时两秒触发task任务
tExit.schedule(task,2000);
}else{
finish();
System.exit(0);
}
returntrue;
}
returnsuper.onKeyUp(keyCode,event);
}
原理很简单:定义一个TimerTask定时器和一个是否退出程序的标识isExit,第一次按返回键,赋值isExit标识为true,开启定时器TimerTask任务,两秒钟后赋值isExit标识为false,所以用户在这两秒中内再按一次返回键,则退出程序。否则定时器TimerTask任务执行,标志为false。原理就是这么简单~
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!