Android开发案例教程与项目实战第2章 Android核心组件BroadcastReceiver.pptVIP

Android开发案例教程与项目实战第2章 Android核心组件BroadcastReceiver.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BroadcastReceiver 学习目的 1、BroadcastReceiver技术的简介和应用 2、BroadcastReceiver接收和发送 BroadcastReceiver介绍 广播BroadcastReceiver是一种广泛运用的在应用程序之间传输信息的机制。 BroadcastReceiver是对发送出来的广播进行过滤接收并响应的一类组件。 BroadcastReceiver自身并不实现图形用户界面,但是当它收到某个通知后,BroadcastReceiver可以启动Activity作为响应,或者通过NotificationMananger提醒用户,或者启动Service等等。 BroadCastReceiver的机制 在Android系统中,接收广播的组件叫作receiver,而且receiver还分为动态和静态的。 动态receiver是在运行期通过调用registerReceiver()注册的,而静态receiver则是在AndroidManifest.xml中声明的。 动态receiver比较简单,静态的就麻烦一些了,因为在广播递送之时,静态receiver所从属的进程可能还没有启动呢,这就需要先启动新的进程,费时费力。另一方面,有些时候用户希望广播能够按照一定顺序递送,为此,Android又搞出了ordered broadcast的概念。 Intent和BroadCastReceiver Intent主要是用来启动Activity,Service,但是Intent的作用远远不止这些。Intent还有几个重要的机制,其中一个就是作为不同进程间传递数据和事件的媒介。 通常我们自己的应用或者是Android系统本身在某些事件来临时会将Intent广播出去,而注册的Boradcast Receiver可以监听这些Intent,并且可以获得保存在Intent里面的数据。这一点很有用的。 例如在电池电量发生变化。网络连接发生变化的时候或者来电、来短信的时候,Android系统都会将相关的Intent进行广播。如果注册了针对这些事件的Broadcast Receiver,那么就可以处理这些事件。 实现Android中的时间广播 程序主广播Intent是比较简单的。在程序当中只要构造好一个Intent,然后调用sendBroadcast进行广播即可。如下面的代码 public static final String NEW_BROADCAST=“.action.NEW_BROADCAST”; Intent intent=new Intent(NEW_BROADCAST); intent.puExtra(“data1”,somedata); intent.puExtra(“data2”,somedata); sendBroadcast(intent); 如何实现一个BroadCast Receiver 很简单,就是继承BroadcastReceiver类,并重写这个类当中的onReceiver()方法来实现。代码如下所示: public class MyAndroidReceiver extends BroadcastReceiver{ @Override public void onReceiver(Context context,Intent intent){ //这里写代码 } } 在onReceiver()方法里面最好不要有执行5s的代码,如果这样的话,Android系统会弹出一个超时对话框。一般对于一个耗时的方法是写在一个线程里面的,单独来执行。 注册的BroadcastReceiver并非一直在后台运行,而是当事件或者相关的Intent来临时后,才会被系统调用。有了这套广播机制,我们就可以写一些和事件处理相关的程序了。 如何注册和注销一个BroadCast Receiver 实现了自己的BroadcastReceiver后还必须注册才能应用,有两种方式对BroadcastReceiver进行注册。 1)在AndroidManifest.xml文件当中进行注册,这种方法是比较好的,而且是最经常用的方式。 receiver android:name=“MyAndroidReceiver1 intent-filter action android:name=“. android.action.NEW_BROADCAST_1/ /intent-filter /receiver receiver android:name=“MyAndroidReceiver2 intent-filter act

您可能关注的文档

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档