您的位置:首页 > 其它

基础篇(五) 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,第一个接收这个广播。如果判断为垃圾短信,可以立即删除短信并终止广播;如果不是,继续向下传播。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: