android深进探讨笔记之二十 -- 广播汲取者

android深进探讨笔记之二十 -- 广播汲取者

ID:48316573

大小:160.00 KB

页数:9页

时间:2019-11-01

android深进探讨笔记之二十 -- 广播汲取者_第1页
android深进探讨笔记之二十 -- 广播汲取者_第2页
android深进探讨笔记之二十 -- 广播汲取者_第3页
android深进探讨笔记之二十 -- 广播汲取者_第4页
android深进探讨笔记之二十 -- 广播汲取者_第5页
资源描述:

《android深进探讨笔记之二十 -- 广播汲取者》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android深入探究笔记之二十--广播接收者,BroadcastReceiver 收藏1.概述      广播被分为两种不同的类型:“普通广播(Normalbroadcasts)”和“有序广播(Orderedbroadcasts)”。      普通广播是完全异步的,可以在同一时刻(逻辑上)被所有接收者接收到,消息传递的效率比较高,    但缺点是:接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播。          然而有序广播是按照接收者声明的优先级别,被接收者依次接收广播。如:A的级别

2、高于B,B的级别高于C,那么,广播先传给A,再传给B,最后传给C。          优先级别声明在intent-filter元素的android:priority属性中,数越大优先级别越高,取值范围:-1000到1000,优先级别也可以调用IntentFilter对象的setPriority()进行设置。      有序广播的接收者可以终止广播Intent的传播,广播Intent的传播一旦终止,后面的接收者就无法接收到广播。      另外,有序广播的接收者可以将数据传递给下一个接收者,如:A得到广播后,可以往它的结

3、果对象中存入数据,当广播传给B时,B可以从A的结果对象中得到A存入的数据。            Context.sendBroadcast()    发送的是普通广播,所有订阅者都有机会获得并进行处理。      Context.sendOrderedBroadcast()    发送的是有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者,    前面的接收者有权终止广播(BroadcastReceiver.abortBroadcast()),如果广播被前面的接收者终止,    后面的接收者就再也无法获取到

4、广播。    对于有序广播,前面的接收者可以将数据通过setResultExtras(Bundle)方法存放进结果对象,    然后传给下一个接收者,下一个接收者通过代码:Bundlebundle=getResultExtras(true))可以获取上一个接收者存入在结果对象中的数据。2.      广播接收者(BroadcastReceiver)用于接收广播Intent,广播Intent的发送是通过调用Context.sendBroadcast()、Context.sendOrderedBroadcast()来实现的

5、。            通常一个广播Intent可以被订阅了此Intent的多个广播接收者所接收,这个特性跟JMS中的Topic消息接收者类似。      要实现一个广播接收者方法如下:             第一步:继承BroadcastReceiver,并重写onReceive()方法。             publicclassIncomingSMSReceiverextendsBroadcastReceiver{                    @OverridepublicvoidonRecei

6、ve(Contextcontext,Intentintent){                    }             }             第二步:订阅感兴趣的广播Intent,订阅方法有两种:                    第一种:使用代码进行订阅                                                      IntentFilterfilter

7、=newIntentFilter("android.provider.Telephony.SMS_RECEIVED");                           IncomingSMSReceiverreceiver=newIncomingSMSReceiver();                           registerReceiver(receiver,filter);                    第二种:在AndroidManifest.xml文件中的

8、节点里进行订阅:                                                                                              

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。