android有序广播和无序广播的区别

转载 2012年03月26日 15:24:23
BroadcastReceiver所对应的广播分两类:普通广播有序广播
普通广播通过Context.sendBroadcast()方法来发送。它是完全异步的。
所有的receivers接收器的执行顺序不确定。    因此,所有的receivers接收器接收broadcast的顺序不确定。
这种方式效率更高。但是BroadcastReceiver无法使用setResult系列getResult系列abort系列API
有序广播是通过Context.sendOrderedBroadcast来发送。所有的receiver依次执行。
BroadcastReceiver可以使用setResult系列函数结果传给下一个BroadcastReceiver,通过getResult系列函数来取得上个BroadcastReceiver返回的结果,并可以abort系列函数来让系统丢弃该广播让,使用该广播不再传送到别的BroadcastReceiver
可以通过在intent-filter中设置android:priority属性来设置receiver的优先级。优先级相同的receiver其执行顺序不确定。
如果BroadcastReceiver是代码中注册的话,且其intent-filter拥有相同android:priority属性的话,先注册的将先收到广播。

有序广播,即从优先级别最高的广播接收器开始接收,接收完了如果没有丢弃,就下传给下一个次高优先级别的广播接收器进行处理,依次类推,直到最后。

这里接收短信的广播是有序广播,因此可以设置你自己的广播接收器的级别高于系统原来的级别,就可以拦截短信,并且不存收件箱,也不会有来信提示音。

实现方法是:

 

<receiver android:name=".SmsReceiver" >
   <intent-filter android:priority="100">
    <action android:name="android.provider.Telephony.SMS_RECEIVED" />                    
   </intent-filter>
</receiver>

 

里面的android:priority="100"就是设定广播接收器的级别,这个值从1000~-1000,数值越大,优先级别就越高。


android有序广播和无序广播的区别

BroadcastReceiver所对应的广播分两类:普通广播和有序广播。 普通广播:通过Context.sendBroadcast()方法来发送,它是完全异步的。 所有的receivers(接收...
  • ljb_blog
  • ljb_blog
  • 2013-03-08 14:55:54
  • 16455

...零到精通Android开发视频_第11天09_<em>有序广播和无序广播的区别</em>

传智播客_Andorid教程_20天从零到精通Android开发视频_第11天 09_<em>有序广播和无序广播的区别</em> 综合评分:0 收藏评论举报 所需: 3积分/C币 下载个数: 1 开通...
  • 2018年04月14日 00:00

有序广播和无序广播的区别

1.无序广播 通过Context.sendBroadcast()方法来发送,它是完全异步的。 所有的receivers(接收器)的执行顺序不确定,因此所有的receivers(接收器)接收broa...
  • ldc_123
  • ldc_123
  • 2016-10-12 22:04:26
  • 928

广播机制二(有序广播,无序广播和本地广播)

自定义广播 发送标准广播(无序广播): 清单文件: android:name=".BootCompleteReceiver">             android:name="...
  • guideit
  • guideit
  • 2016-08-14 18:17:28
  • 366

...第11天视频_视频_09_发送有序广播&amp;<em>有序广播和无序广播的区别</em>

传智播客_Andorid_20天精通Android开发视频_第11天视频_视频_09_发送有序广播&amp;<em>有序广播和无序广播的区别</em>.avi 综合评分:0 收藏评论举报 ...
  • 2018年04月15日 00:00

Android中广播的使用(动态、静态注册的区别,有序无序广播的使用)

首先区别一下静态注册和动态注册的区别:  1.常驻型广播  常驻型广播,当你的应用程序关闭了(进程没有被杀死时,也就是在后台运行时才能收到广播),如果有广播信息来,你写的广播接收器同样的能接收到,它的...
  • OONullPointerAlex
  • OONullPointerAlex
  • 2015-08-26 23:51:24
  • 5680

Android进阶之路 - BroadcaseReceiver(自定义广播、有序广播、无序广播、广播拦截、动态注册、静态注册)的详细使用方式

众所周知BroadcaseReceiver为Android中的四大组件之一,又名为广播、喇叭,这篇我为大家带来的就是BroadcaseReceiver的详细使用方式,说到使用其中又有些许不同,下面为大...
  • qq_20451879
  • qq_20451879
  • 2017-01-10 20:15:50
  • 420

发送和接收无序广播或有序广播需要注意的问题

一:发送无序广播或有序广播 public class BroadcastActivity extends FragmentActivity implements View.OnClickListene...
  • yinzhijiezhan
  • yinzhijiezhan
  • 2015-10-18 15:09:42
  • 1905

Broadcast详解(有序广播,无序广播)最终广播,Bundle传递参数

17_Android中Broadcast详解(有序广播,无序广播)最终广播,Bundle传递参数,传递参数的时候指定权限,17_androidbundle 热度2 评论 262 www.BkJ...
  • leixiongbo
  • leixiongbo
  • 2016-09-24 11:23:23
  • 161

广播 有序和无序的区别 本地和全局的区别

http://h529820165.iteye.com/blog/1656778 普通广播(Normal Broadcast): 一,优缺点:和有序广播的优缺点相反! 二,发送广播的方法:s...
  • u012221046
  • u012221046
  • 2016-09-20 21:17:08
  • 1480
收藏助手
不良信息举报
您举报文章:android有序广播和无序广播的区别
举报原因:
原因补充:

(最多只允许输入30个字)