第6章android广播接收器(broadcastreceiver)

第6章android广播接收器(broadcastreceiver)

ID:21285752

大小:1.33 MB

页数:28页

时间:2018-10-20

第6章android广播接收器(broadcastreceiver)_第1页
第6章android广播接收器(broadcastreceiver)_第2页
第6章android广播接收器(broadcastreceiver)_第3页
第6章android广播接收器(broadcastreceiver)_第4页
第6章android广播接收器(broadcastreceiver)_第5页
资源描述:

《第6章android广播接收器(broadcastreceiver)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章Android广播接收器 (BroadcastReceiver)网络资源:http://www.xs360.cn/bookQQ群:489059718(Android编程-清华版)287966120(公共版)QQ号:1281147324主要内容6.1BroadcastReceiver介绍广播是一种广泛运用在应用程序之间传输信息的机制,而BroadcastReceiver是对发送出来的广播进行过滤接收并响应的一类组件。BroadcastReceiver本质上是一种全局监听器,用于监听系统全局的广播消息,因此它可以非常方便地实现系统中不同组件之间的通信。Bro

2、adcastReceiver用于接收指定的广播,广播的发送是通过调用Context.sendBroadcast()、Context.sendOrderedBroadcat()来实现的。通常一个广播可以被订阅了该Intent的多个广播接收者所接收,如同一个广播台,可以被多位听众收听一样。6.1BroadcastReceiver介绍BroadcastReceiver自身并不实现图形用户界面,但是当它收到某个消息后,可以启动Activity作为响应,或者通过NotificationManager提醒用户,或者启动Service等等。启动BroadcastReceiv

3、er通常需要以下两步:1、创建Intent,指定BroadcastReceiver的特征;2、调用Context的sendBroadcast()(发送普通广播)或sendOrderedBroadcast()(发送有序广播)方法来发送广播,触发指定的BroadcastReceiver。当应用程序发出一个广播之后,所有匹配该Intent的BroadcastReceiver都有可能被启动。6.1BroadcastReceiver介绍开发自己的BroadcastReceiver与开发其他组件一样,只需要继承Android中的BroadcastReceiver基类,然后

4、实现里面的相关方法即可。publicclassMyBroadcastReceiverextendsBroadcastReceiver{publicvoidonReceive(Contextcontext,Intentintent){}}在onReceive()方法中,接收了一个Intent的参数,通过它可以获取广播所携带的数据。6.1BroadcastReceiver介绍创建完广播接收者后,并不能马上使用,还必须为它注册一个指定的广播,就如同我们有了收音机后,还必须选择收听哪个频道一样。在Android中为BroadcastReceiver注册广播有两种方式:

5、静态注册和动态注册。静态注册:是指在AndroidManifest.xml文件中进行注册。6.1BroadcastReceiver介绍MyBroadcastReceivermyBroadcastReceiver=newMyBroadcastRece

6、iver();IntentFilterfilter=newIntentFilter("iet.jxufe.cn.android.myBroadcastReceiver");registerReceiver(myBroadcastReceiver,filter);动态注册:需要在代码中动态的指定广播地址并注册,通常是在Activity或Service中调用ContextWrapper的registerReceiver(BroadcastReceiverreceiver,IntentFilterfilter)方法进行注册。6.1BroadcastReceiver介

7、绍注册完成后,即可接收相应的广播消息。一旦广播(Broadcast)事件发生后,系统就会创建对应的BroadcastReceiver实例,并自动触发它的onReceive()方法,onReceive()方法执行完后,BroadcastReceiver的实例就会被销毁。如果BroadcastReceiver的onReceive()方法不能在10秒内执行完成,Android会认为该程序无响应。所以不要在广播接收者的onReceive()方法里执行一些耗时的操作,否则会弹出ANR(ApplicationNoResponse)对话框。注意如果确实需要根据广播来完成一项

8、比较耗时的操作,则可以考虑通过Inte

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

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

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