首先一般来说我们做项目都会自己先定义一个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();
}
网友评论