前段时间刚看到《第一行代码》的广播章节,为了便于理解,本人将书中代码进行整理归纳,将不同广播接收器注册方式进行对比,文中代码均取自《第一行代码》,由于本人为新手,如有不对欢迎指正
1 分类
有序广播:异步执行,所有接收器同时接收(sendbroadcast(intent))
标准广播:同步执行,顺序接收( sendOrderedBroadcast(intent,null))
2注册流程概述
文中现对广播注册流程框架进行接受,然后给出具体步骤的实现代码,广播主要两种注册方式 静态和动态
1静态: 主要是在AndroidMannifest.xml中添加 <intent-filter>,常用与系统自带的广播
2动态:主要是在java代码中动态的添加,相对较为灵活,自定义和本地广播均是动态注册,主要通过intent实现
1)流程概述
(1)静态
- 自定义广播接收器,继承Broadcast
- 在AndroidMannifest.xml中添加 <intent-filter>
(2)动态
- 自定义广播接收器,继承Broadcast
- 设置Intentfilter,并且注册监听(registerReceiver(netWorkChangeReceiver,intentFilter) );
- 取消注册 (unregisterReceiver(netWorkChangeReceiver);)
- 添加
uses-permission,如网络监听<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
(3)自定义广播
- 自定义广播接收器,继承Broadcast