//第一次点击与第二次点击的间隔时间 private long exitTime;
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){ exit(); return true; } return super.onKeyDown(keyCode, event); } private void exit(){ if((System.currentTimeMillis() - exitTime) > 2000){ Toast.makeText(this, "再次点击退出应用", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); }else{ finish(); System.exit(0); } }
1 //定义一个判断是否要退出的变量 2 private boolean isExit = false; 3 4 Handler handler = new Handler(){ 5 @Override 6 public void handleMessage(@NonNull Message msg) { 7 super.handleMessage(msg); 8 isExit = false; 9 } 10 };
1 @Override 2 public boolean onKeyDown(int keyCode, KeyEvent event) { 3 if(keyCode == KeyEvent.KEYCODE_BACK){ 4 exit(); 5 return false; 6 } 7 return super.onKeyDown(keyCode, event); 8 } 9 10 private void exit(){ 11 if(!isExit){ 12 isExit = true; 13 Toast.makeText(this, "再次点击退出应用", Toast.LENGTH_SHORT).show(); 14 //通过Handler的延迟发送更改状态消息 15 handler.sendEmptyMessageDelayed(0,2000); 16 }else{ 17 finish(); 18 System.exit(0); 19 } 20 }
来源:博客园
作者:邓惠宇
链接:https://www.cnblogs.com/Mr-Deng/p/11655038.html