Android连续点击两次Back键退出程序

来源:互联网 发布:李敖对女性的态度知乎 编辑:程序博客网 时间:2024/05/16 05:30

思路1:记录上次点击的时间,与本次点击的时间比较,当两次时间间隔小于一定值时,退出,否则提示“再按一次退出程序”,同时更新上次点击时间

 private long firstTime = 0;         @Override      public boolean onKeyUp(int keyCode, KeyEvent event) {             // TODO Auto-generated method stub             switch(keyCode)             {             case KeyEvent.KEYCODE_BACK:                  long secondTime = System.currentTimeMillis();                    if (secondTime - firstTime > 2000) {                                         //如果两次按键时间间隔大于2秒,则不退出                       Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();                        firstTime = secondTime;//更新firstTime                       return true;                    } else {                                                    //两次按键小于2秒时,退出应用                  System.exit(0);                   }                  break;             }           return super.onKeyUp(keyCode, event);         }  

思路2:开线程延时处理

  private int mBackKeyPressedTimes = 0;              @Override              public void onBackPressed() {                      if (mBackKeyPressedTimes == 0) {                              Toast.makeText(this, "再按一次退出程序 ", Toast.LENGTH_SHORT).show();                              mBackKeyPressedTimes = 1;                              new Thread() {                                      @Override                                      public void run() {                                              try {                                                      Thread.sleep(2000);                                              } catch (InterruptedException e) {                                                      e.printStackTrace();                                              } finally {                                                      mBackKeyPressedTimes = 0;                                              }                                      }                              }.start();                              return;                            else{                                     this.activity.finish();                                  }                      }                      super.onBackPressed();              }  
0 0
原创粉丝点击