Android 实现按两次返回键退出程序

来源:互联网 发布:db2执行sql脚本有换行 编辑:程序博客网 时间:2024/06/06 03:38
// 是否退出程序  private static Boolean isExit = false;  // 定时触发器  private static Timer tExit = null;


public boolean onKeyUp(int keyCode, KeyEvent event) {        if (keyCode == KeyEvent.KEYCODE_BACK) {          if (isExit == false) {              isExit = true;              if (tExit != null) {                  tExit.cancel(); // 将原任务从队列中移除              }              // 重新实例一个定时器              tExit = new Timer();              TimerTask task = new TimerTask() {                  @Override                  public void run() {                      isExit = false;                  }              };              Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();              // 延时两秒触发task任务              tExit.schedule(task, 2000);          } else {              finish();              System.exit(0);          }          return true;      }      return super.onKeyUp(keyCode, event);  }  

原理很简单:定义一个TimerTask定时器和一个是否退出程序的标识isExit,第一次按返回键,赋值isExit标识为true,开启定时器TimerTask 任务,两秒钟后赋值isExit标识为false,所以用户在这两秒中内再按一次返回键,则退出程序。否则定时器TimerTask任务执行,标志为false。原理就是这么简单~

0 0