第1课广播接收者分类_第1页
第1课广播接收者分类_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、广播分类基础知识一、广播的分类:广播分为无序广播(也称普通广播)和有序广播。1、无序广播:通过ContexdBroadcast()方法来发送,无序广播它是完全异步的,逻辑上可以在同一时刻被所有匹配的接收者接收到,所以消息传递效率比较高,但是所有的receivers()的执行顺序不确定,因此所有的 receivers 接收 broadcast的顺序不确定。无序广播不可以被,不可以被终止,不可以被修改。在无序广播中,任何接收者只要匹配条件都可以接收到,且无优先级问题。如果想传递数据,则可以调用ent.putExtra()方法传递,接收者可通过ent.get 相应方法接收数据。2、有序广播:通过Co

2、ntexdOrderedBroadcast()方法来发送,所有的 receivers 按照顺序依次执行。1) 执行顺序:可以通过在ent-filter 中设置 android:priority 属性(priority 属性值从-10001000,数值越大,优先级别就越高)来设置 receiver 的优先级,也可以调用entFilter 对象的 setPriority()方法来设置,优先级相同的 receiver 其执行顺序不确定。如果 BroadcastReceiver 是代码中动态的话,且其ent-filter拥有相同android:priority 属性的话,先的将先收到广播。2) 数据传

3、递:优先接收到Broadcast 的receiver 可通过 setResultExtras(Bundle)方法将处理结果存入 Broadcast 中,下一个 receiver 也可以通过 Bundlebundle=getResultExtras(true)方法获取上一个 receiver 传来的数据。需要注意的是这里传递的是一个 Bundle 对象,也就是可以传多种类型的数据。BroadcastReceiver 中通过 Bundundle = getResultExtras(false)取得Bundle 对象,然后再通过 bundle 的各种 get 方法取得数据。3) 终止广播:接收者通过

4、调用 abortBroadcast()方法即可终止广播的,一旦终止后面接收者就无法接收广播。二、两种广播的区别对比:无序广播有序广播方法调用Context.sendBroadcast()Context.sendOrderedBroadcast()优缺点Receiver 优先级不确定按优先级的不同,优先 Receiver 可对数据进行处理不可以被,不可以被终止,不可以被修改可以被,可以被终止,可以被修改接受者不能将处理结果传递给下一个接收者,也无法终止广播接受者可以将结果传递给下一个receiver,也可终止广播效率高低三、无序广播示例:1、发送广播端:entent = newent();/设置

5、Actionent.setAction();/添加数据ent.putExtra(name,Mike);/发送无序广播sendBroadcast(ent);2、接收广播端:1)在 AndroidManifest.xml 中静态广播:2)创建receiver 接收数据:public class MyBroadcastReceiver extends BroadcastReceiver public MyBroadcastReceiver() Overridepublic void onReceive(Context context,entent) String action =ent.getAction();/判断actionif (.equalion) String name =ent.getString

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论