美文网首页
用EventBus的方式双击退出应用

用EventBus的方式双击退出应用

作者: 冯员外_SundarFung | 来源:发表于2017-03-25 22:47 被阅读0次
    首先一般来说我们做项目都会自己先定义一个Activity的子类,然后所有的Activity都来继承这个子类,作为所有Activity的父类出现

    在栈顶双击返回选择退出的时候直接用eventBus来通知这个Activity

    这个是栈顶的类假设他是MainActivity

    /**双击退出**/
    @Override
    public void onBackPressed() {
        if (doubleBackToExitPressedOnce) {
              super.onBackPressed();
              EventBus.getDefault().post(new ExitRongMoMo());
              return;
          }
      this.doubleBackToExitPressedOnce = true;//原来是false的话点击一次back键将其改为true,再按一次执行上面if为true则退出
      ToastUtil.showShort(MainActivity.this, "双击退出");
      new Handler().postDelayed(new Runnable() {
    
    @Override
    public void run(){ //2秒后改为false
        doubleBackToExitPressedOnce=false;
                  }
            }, 2000);
    }
    

    这个是EventBus的事件通知

    public static class ExitRongMoMo{}
    

    在MainActivity的父类里接收从MainActivity发来的退出应用的信息

    /**退出应用**/
    @Subscribe
    public void OnEvent (MainActivity.ExitRongMoMo event){
        finish();
    }
    

    相关文章

      网友评论

          本文标题:用EventBus的方式双击退出应用

          本文链接:https://www.haomeiwen.com/subject/xpkhottx.html