Android应用开发基础92课件讲解.pptxVIP

  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文档。上传文档
查看更多

Android应用开发基础主讲老师:赵晓芸第七章

CONTENTS目录010203广播机制的概述广播接收者自定义广播与广播的类型

01广播机制的概述

广播机制的概述通常情况下在学校的每个教室都会装有一个喇叭,这些喇叭是接入到学校广播室的。如果有重要通知,会发送一条广播来告知全校师生。为了便于发送和接收系统级别的消息通知,Android系统也引入了一套类似广播的消息机制。Android中的广播(Broadcast)机制用于进程/线程间通信,该机制使用了观察者模式,观察者模式是一种软件设计模式,该模式是基于消息的发布/订阅事件模型,该模型中的消息发布者是广播机制中的广播发送者,消息订阅者是广播机制中的广播接收者,广播机制的具体实现流程,如下图所示。

广播机制的概述上述图中的广播机制的实现流程具体如下:1.广播接收者是通过Binder机制在AMS(ActivityManagerService)中进行注册的。2.广播发送者是通过Binder机制向AMS发送广播。3.AMS查找符合相应条件(IntentFilter/Permission)的广播接收者(BroadcastReceiver),将广播发送到相应的消息循环队列中。4.执行消息循环时获取到此广播,会回调广播接收者(BroadcastReceiver)中的onReceive()方法并在该方法中进行相关处理。消息发送者(广播发送者)2.发送广播(Binder机制)处理中心(AMS)根据消息发布者要求,在已注册列表中,寻找合适的消息订阅者,寻找依据是(IntentFilter/Permission)3.发送广播1.注册广播接收者(Binder机制)消息订阅者(广播接收者)

02广播接收者

广播接收者发送广播消息实际生活中,电台用于发送广播,收音机用于接收广播。

广播特点Android系统中内置了很多广播,例如手机开机完成、电池电量不足时都会发送一条广播。为了监听来自系统或者应用程序的广播事件,Android系统提供了BroadcastReceiver(广播接收者)组件。广播接收者

广播接收者BroadcastReceiver1Android系统或其他程序产生的广播事件BroadcastReceiver2BroadcastReceiver3当Android系统产生一个广播事件时,可以有多个对应的广播接收者接收并进行处理。

广播接收者的创建方式有两种,具体如下:一种是通过在应用程序的包中创建一个类继承BroadcastReceiver并重写onReceive()方法来实现的。一种是通过选中应用程序中的包,右击选择【New】→【Other】→【BroadcastReceiver】选项来创建的。广播接收者注意:创建完广播接收者之后还需要对广播接收者进行注册才可以接收广播。

广播接收者选择【New】→【Other】→【BroadcastReceiver】选项来创建广播如下:广播接收者名称创建完成

创建广播接收者publicclassMyReceiverextendsBroadcastReceiver{publicMyReceiver(){}@OverridepublicvoidonReceive(Contextcontext,Intentintent){thrownewUnsupportedOperationException(Notyetimplemented);}}广播接收者在该方法中实现广播接收者的相关操作

广播接收者动态注册receiver=newMyBroadcastReceiver();//实例化广播接收者//实例化过滤器并设置要过滤的广播Stringaction=android.provider.Telephony.SMS_RECEIVED;IntentFilterintentFilter=newIntentFilter();intentFilter.addAction(action);registerReceiver(receiver,intentFilter);//注册广播动态注册广播,动态注册的广播接收者是否被注销依赖于注册广播的组件,当组件销毁时,广播接收者也随之被注销。

广播接收者动态注册protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanc

文档评论(0)

vermonth155-2娟 + 关注
实名认证
文档贡献者

专注ppt课件

版权声明书
用户编号:8046135067000064

1亿VIP精品文档

相关文档