Android 开发中广播Broadcast 知识点

对于学习Android的小伙伴,应该都知道广播(Broadcast)是Android四大组件之一。

兼容性有问题:在酷派大神F2 型号:Coolpad 8675-FHD (有序广播完全失效)
广播类型有两种:
1、普通广播(Normal broadcast)  
 2、有序广播(Ordered broadcast)

它们之间优缺点:
1.1、普通广播(发送:Context.sendBroadcast())
       优点:效率比较高,原因是它完全异步,执行的顺序是没有规则性的,在同一时刻(逻辑上)所有广播接收者接收到broadcast顺序是不确定的,这种方式在同一时刻消息传递的效率比较高
       缺点:接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播
2.1、有序广播(发送:Context.sendOrderedBroadcast())
       优点:因为它是有序的,可以按照接收者的声明的优先级别进行有序传播
             通过getResult系列方法来得到上个广播返回的结果
             通过abort系列方法让系统终止该广播,使该广播不再继续传递到别的广播接收者(BroadcastReceiver)
       有序广播使用过程:可以通过在intent-filter中设置android:priority属性来设置receiver的优先级(取值:-1000到1000),优先级相同的receiver其执行顺序不确定。如果BroadcastReceiver在代码中(通过调用IntentFilter对象的setPriority()进行设置)注册的话,且其intent-filter拥有相同android:priority属性的话,先注册的将先收到广播。有序广播,即从优先级别最高的广播接收器开始接收,接收完了如果没有丢弃,就下传给下一个次高优先级别的广播接收器进行处理,依次类推,直到最后。如果多个应用程序设置的优先级别相同,则谁先注册的广播,谁就可以优先接收到广播。
       比如接收短信的广播是有序广播,因此可以设置你自己的广播接收器的级别高于系统原来的级别,就可以拦截短信,并且不存收件箱,也不会有来信提示音。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值