基础篇(五) BroadcastReciever(广播接收器)和Broadcast(广播)
2015-10-22 20:53
148 查看
一、Broadcast(广播)
根据来源分类:
1.进程内广播:实现应用内部Activity之间,Activity和Service之间的通信。
2.进程间广播 :实现不同应用之间的通信。
3.系统广播:实现系统和应用之间的通信。系统启动完成、网络状态改变、电量变化等系统状态改变都要发送广播,相关应用可以接收、处理这些信息。
根据传播方式分类:
1.普通广播:对应的BoradcastReciever不需要设置优先级,多个Reciever可以互不影响的接收、处理同一个广播。
2.有序广播:对应的BoradcastReciever要设置优先级,优先级高的先接收、处理广播,然后可以继续传给下一级的Reciever,也可以终止广播的继续传播。
二、BroadcastReciever(广播接收器)
要让系统知道应用可以接收哪些广播,要对BroadcastReciever进行注册
1.静态注册:在AndroidManifest文件中注册BroadcastReciever。不需要应用启动,就可以在广播传来时自动启动应用,接收、处理广播。
2.动态注册:在项目中使用代码注册BroadcastReciever。需要应用启动,运行注册代码,才可以接收、处理广播;应用退出时,要解除注册,否则会报异常。
三、短信助手的实现
收到短信、发送短信成功、发送短信失败、对方收到短信,系统都会发出广播。
收到短信,系统发出一个有序广播,短信助手可以注册一个优先级最高的BroadcastReciever,第一个接收这个广播。如果判断为垃圾短信,可以立即删除短信并终止广播;如果不是,继续向下传播。
根据来源分类:
1.进程内广播:实现应用内部Activity之间,Activity和Service之间的通信。
2.进程间广播 :实现不同应用之间的通信。
3.系统广播:实现系统和应用之间的通信。系统启动完成、网络状态改变、电量变化等系统状态改变都要发送广播,相关应用可以接收、处理这些信息。
根据传播方式分类:
1.普通广播:对应的BoradcastReciever不需要设置优先级,多个Reciever可以互不影响的接收、处理同一个广播。
2.有序广播:对应的BoradcastReciever要设置优先级,优先级高的先接收、处理广播,然后可以继续传给下一级的Reciever,也可以终止广播的继续传播。
二、BroadcastReciever(广播接收器)
要让系统知道应用可以接收哪些广播,要对BroadcastReciever进行注册
1.静态注册:在AndroidManifest文件中注册BroadcastReciever。不需要应用启动,就可以在广播传来时自动启动应用,接收、处理广播。
2.动态注册:在项目中使用代码注册BroadcastReciever。需要应用启动,运行注册代码,才可以接收、处理广播;应用退出时,要解除注册,否则会报异常。
三、短信助手的实现
收到短信、发送短信成功、发送短信失败、对方收到短信,系统都会发出广播。
收到短信,系统发出一个有序广播,短信助手可以注册一个优先级最高的BroadcastReciever,第一个接收这个广播。如果判断为垃圾短信,可以立即删除短信并终止广播;如果不是,继续向下传播。
相关文章推荐
- 10月分关键字讲解
- dev gridview CustomRowCellEditForEditing 中下拉列表默认的数据源根据列改变
- 小小菜之Cocos2d-x游戏开发旅程——Lua之场景跳转
- Linux 卸载Oracle 11G
- Hanoi问题java解法
- Java Enumeration接口
- 开源网络框架Volley(1)
- DNS服务部署(三)之高可用主辅架构
- 架构设计:系统间通信(8)——通信管理与RMI 上篇
- 极限优化:Haar特征的另一种快速计算方法-boxfilter
- HDU 3068 - 最长回文(manacher)
- 细说.NET中的多线程 (三 使用Task)
- CRC8校验
- gdb调试常用命令
- Java学习笔记(三)——运算符
- Citrix 存储虚拟化产品Melio
- ios8/sdk8/xcode6/iphone6(+)适配
- NYOJ 488 素数环(DFS)
- Java集合框架
- iOS Swift字符串截取