要求: 第一次按后退键,提示“再次点击退出程序",第二次按键后退出。若两次按键间隔超过2秒,那么重新提示,并再次按键后退出;
代码如下:
方法一:
//实现按后退键两次后退出程序
private boolean isExit = false;
@Override
public void onBackPressed() {
if(!isExit){
isExit = true;
Toast.makeText(Content.this, "再按一次退出茶百科", 0).show();
//第一次点击超过2秒未点击第二次,那么重置isExit为false,再次点击将重新提示"再次点击"
Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Override
public void run() {
isExit = false;
}
},2000);
}else{
super.onBackPressed();
}
}
方法二:重写onKeyDown方法
1 private long mClickTime = 0L; //全局变量 2 3 //在2秒内连续点击返回键两次退出应用 4 @Override 5 public boolean onKeyDown(int keyCode, KeyEvent event) { 6 if(event.getKeyCode() == KeyEvent.KEYCODE_BACK){ 7 long second = System.currentTimeMillis(); 8 if( second - mClickTime < 2000){ 9 finish(); 10 return true; 11 }else{ 12 mClickTime = second; 13 mClickTime = second; 14 Toast.makeText(this, "再次点击退出程序", 15 Toast.LENGTH_SHORT).show(); 16 return true; 17 } 18 } 19 return super.onKeyDown(keyCode, event); 20 }