Android APP新的“优雅”退出方式--EventBus大显身手
2016-02-03 14:13
507 查看
最近在研究eventBus。。很多小伙伴不知道他有什么用。。
前篇介绍了EventBus的基本使用
这里简单举一个例子,就是退出APP
转载请注明出处:/article/3646088.html
相信大家都用过自定义的ActivityManager去管理Activity,退出应用的时候就遍历finish。
今天就给大家分享一种“优雅”的方式,用EventBus来退出APP。
![](http://img.blog.csdn.net/20160203141303651)
原谅我没有找到 举杯子的优雅表情。
首先 在BaseActivity里面注册,然后写一个onEventMainThread()方法。在里面调用finsh()
然后多加几个Activity作为测试Activity,在最后一个Activity添加退出按钮
最后一个Activity按钮的点击时间里,发送一条消息。由所有Activity进行接收,以达到APP退出的效果。观察Log
![](http://img.blog.csdn.net/20160203140720535)
嗯,确实都退出了。。有木有觉得很 优雅,有没有觉得EventBus很好用呢。
这恰好突出了EventBus的优点啊!短、小、快!!
![](http://img.blog.csdn.net/20160203141119113)
如果你喜欢我的博客,请关注我~~~
前篇介绍了EventBus的基本使用
这里简单举一个例子,就是退出APP
转载请注明出处:/article/3646088.html
相信大家都用过自定义的ActivityManager去管理Activity,退出应用的时候就遍历finish。
今天就给大家分享一种“优雅”的方式,用EventBus来退出APP。
原谅我没有找到 举杯子的优雅表情。
首先 在BaseActivity里面注册,然后写一个onEventMainThread()方法。在里面调用finsh()
BaseActivity
[code]public class BaseActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); EventBus.getDefault().register(this); } public void onEventMainThread(Integer i){ finish(); } @Override protected void onDestroy() { super.onDestroy(); EventBus.getDefault().unregister(this); } }
然后多加几个Activity作为测试Activity,在最后一个Activity添加退出按钮
MainActivity
[code]public class MainActivity extends BaseActivity { private Button mButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mButton = (Button) findViewById(R.id.btn); mButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this,Main2Activity.class); startActivity(intent); } }); } @Override protected void onDestroy() { super.onDestroy(); Log.e("wing","main finished"); } }
Main2Activity
[code]public class Main2Activity extends BaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { EventBus.getDefault().post(1); } }); } @Override protected void onDestroy() { super.onDestroy(); Log.e("wing","main2 finished"); } }
最后一个Activity按钮的点击时间里,发送一条消息。由所有Activity进行接收,以达到APP退出的效果。观察Log
嗯,确实都退出了。。有木有觉得很 优雅,有没有觉得EventBus很好用呢。
这恰好突出了EventBus的优点啊!短、小、快!!
如果你喜欢我的博客,请关注我~~~
相关文章推荐
- Android APP新的“优雅”退出方式--EventBus大显身手
- ES6学习——新加API:Object
- Android相机开发那些坑
- iOS证书快要过期怎么办?
- LDAP ObjectClass
- (16)Cocos2d-x 多分辨率适配完全解析
- iOS 关于证书,真机调试的一些总结
- Android 第七天(下午)
- android 图标如何闪烁
- Android系统下的Dex加载
- Android error
- swift 下 UNcode字符串 转为中文字符
- 对Jpa中Entity关系映射中mappedBy的理解
- android屏幕适配,自动生成不同的dimens.xml详解
- 一个在办公室看股票的小程序
- Android ShareSDK快速实现分享功能
- Android IOS WebRTC 音视频开发总结(六三)-- 2016国内IM云服务行业分析
- android确定取消对话框以及单选多选对话框
- Appium1.4 的简介、装配及其使用真机测试(IOS版)
- iOS入门学习(Objective-c类的声明与实现)