背景
通过简单的使用EventBus来实现完全退出一个App,通过EventBus的事件通知机制,在需要退出的时候发送消息,就不用通过Activity自定义栈来管理和实现。(别人已实现,自己写一遍,纪录一下加深印象)
具体实现
AppEventApp首先定义一个AppEventApp类,用EventBus事件传输BaseActivity其次定义一个BaseActivity类,继承于Activity在其onCreate()方法中调用:EventBus.getDefault().register(this);在
onDestroy()方法中调用:EventBus.getDefault().unregister(this);同时实现事件接收的方法:
@Subscribe(threadMode = ThreadMode.MAIN) public void onMessageEvent(AppExitEvent event) { finish(); System.exit(0); }这个方法主要是接收消息后去退出
Acitivity- 最后让每个
Activity去继承于BaseActivity,在需要退出的地方调用以下代码:EventBus.getDefault().post(new AppExitEvent());
感悟
在接收到退出消息之前其实还是可以做很多事情,比如发个广播等。