Android退出程序(二)——利用广播机制
来源:互联网 发布:张予曦真人好看吗 知乎 编辑:程序博客网 时间:2024/04/27 14:36
概述:
基于上一篇博客《Android退出程序(一)——单例模式》的学习,我们知道了如何利用单例和循环遍历的方式来退出我们的应用程序。这篇博客则要从另一个角度来解决问题——广播。即是,接收到一个关闭Activity的广播时,就去关闭当前Activity。
类图展示及说明:
从上面的类图中可以看到这里做了一个处理,而这个处理是学习面向对象的Coder要必须掌握的。这里就是对Activity进行了一个扩展——BaseActivity。如果我们要对每个Activity进行添加内部ExitappReceiver类的话,这样势必增加了代码量,且后期不好维护。所以这里就是把ExitappReceiver封装到了一个基础类中,然后让其他需要实现关闭activity的Activity来继承它就好了。
代码示例:
这里只贴出两个比较关键的代码:
1.接收事件
public class BaseActivity extends Activity { public static final String TAG = BaseActivity.class.getName(); public static final String BROAD_CAST_MESSAGE = TAG + ".BROAD_CAST_MESSAGE"; private ExitappReceiver mReceiver = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); registerReceiver(); } private void registerReceiver() { IntentFilter filter = new IntentFilter(); try { if (mReceiver != null) { unregisterReceiver(mReceiver); } } catch (Exception e) { e.printStackTrace(); } mReceiver = new ExitappReceiver(); filter.addAction(BROAD_CAST_MESSAGE); registerReceiver(mReceiver, filter); } @Override protected void onDestroy() { if (mReceiver != null) { unregisterReceiver(mReceiver); } super.onDestroy(); } class ExitappReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(BROAD_CAST_MESSAGE)) { finish(); } } }}
2.触发事件:
public class TwoActivity extends BaseActivity { private int getLayoutResID() { return R.layout.activity_two; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(getLayoutResID()); Button nextButton = (Button) findViewById(R.id.activity_two_button); nextButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { sendBroadcast(); } }); } private void sendBroadcast() { Intent intent = new Intent(); intent.setAction(BaseActivity.BROAD_CAST_MESSAGE); sendBroadcast(intent); }}
0 0
- Android退出程序(二)——利用广播机制
- Android深入浅出系列之广播机制—Android中的广播机制(二)
- Android之利用广播实现完全退出程序功能
- Android 2.2完全退出程序, 使用广播机制
- Android 2.2完全退出程序, 使用广播机制
- android完全退出程序, 使用广播机制。与众不同,仔细看
- android 广播机制二
- Android 广播机制(二
- Android广播机制二
- Android 四大组件 —— 广播(广播机制解析)
- Android 四大组件 —— 广播(广播机制解析)
- Android笔记(二十四)广播机制
- Android 广播内部机制详解(二)
- Android之广播机制—自定义广播
- Android之广播机制—有序广播
- Android之广播机制—本地广播
- Android中的广播机制(二)----- 发送广播
- android中的广播退出机制broadcast
- 人工智能浪潮推送三大机会——智能家居、语音识别系统、无人机
- hashcode用途
- jQuery笔记
- 追MM和Java的23种设计模式
- 快速简单地求负数的补码和求补码代表的负数
- Android退出程序(二)——利用广播机制
- mongodb集群shard中empty chunk的处理
- XML编码规则整理,值得收藏
- Nginx负载均衡
- nginx源码配置图解
- oozie-4.1.0 安装
- WebView回收资源的报错的解决方案----Error: WebView.destroy() called while still attached!
- Qt 3D的研究(四):指定渲染的材质以及效果
- ajax与后台交互