[Andorid] 实现按两次后退键退出程序

 要求: 第一次按后退键,提示“再次点击退出程序",第二次按键后退出。若两次按键间隔超过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     }

 

 

原文地址:https://www.cnblogs.com/d-on/p/4058011.html