Android 双击Back键退出应用的实现方法

实现原理:

双击退出程序的原理无非就是设置一个退出标识(询问是否退出),如果改变了这个标识(确认退出),则再次点击时立马退出,如果规定时间内没有退出,则延时重置这个标识(不退出)。

延时重置:

使用 Java API 提供了 Timer 类,它能够执行定时任务。利用 Timer 就能够对标识进行延时重置。

Timer 对象的 schedule( ) 方法需要一个 TimerTask 对象和一个时间长度(毫秒)作为参数。TimerTask 对象需要重写它的 run( )方法,当 Timer 执行延时任务时,则会执行 TimerTask 的 run( ) 方法。

退出代码

(Activity 中添加)

  private boolean quit = false;  //设置退出标识

  @Override
  public void onBackPressed() {
    if (quit == false) {    //询问退出程序
      Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
      new Timer(true).schedule(new TimerTask() {   //启动定时任务
        @Override
        public void run() {
          quit = false;  //重置退出标识
        }
      }, 2000);        //2秒后运行run()方法
      quit = true;
    } else {          //确认退出程序
      super.onBackPressed();
      finish();
    }
  }

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

01-31 03:22