点击两次系统返回键实现退出应用

匿名 (未验证) 提交于 2019-12-03 00:14:01

//第一次点击与第二次点击的间隔时间 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     }

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!