《第6章Android消息与广播》精选课件.pptVIP

  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消息与广播 本章目标: 掌握Intent 掌握Intent过滤器 熟悉BroadcastReceive组件应用 6.1 Intent Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息。当然,也可以将Intent视为一个在不同组件之间传递的消息,这个消息在到达接收组件后,接收组件会执行相关的动作。 由于Intent的存在,使得Android系统中相互独立的应用程序组件,成为了一个可以互相通信的组件集合。因此,无论这些组件是否在同一个应用程序中,Intent可以将一个组件的数据和动作传递给另一个组件。 Intent为Activity、Service和BroadcastReceiver等组件提供交互能力。Intent的一个最常见的用途就是启动Activity和Service,另一个用途是在Android系统上发布广播消息。广播消息可以是接收的特定数据或者消息,也可以是手机的信号变化或电池的电量过低等信息。 6.1 Intent Intent是由组件名称、Action、Data、Category、Extra及Flag六部分组成的。接下来将分别对其进行详细介绍。 组件名称实际上就是一个ComponentName对象,用于标识唯一的应用程序组件,即指明了期望的Intent组件,这种对象的名称是由目标组件的类名与目标组件的包名组合而成的。在Intent传递过程中,组件名称是一个可选项,当指定它时,便是显式的Intent消息,当不指定它时,Android系统则会根据其他信息及IntentFilter的过滤条件选择相应的组件。 Action实际上就是一个描述了Intent所触发动作名称的字符串,在Intent类中,已经定义好很多字符串常量来表示不同的Action,当然,开发人员也可以自定义Action,其定义规则同样非常简单。 6.1 Intent 系统定义的Action常量有很多,下面只列出其中一些较常用的以供参考。 ACTION_CALL:拨出Data里封装的电话号码; ACTION_EDIT:打开Data里指定数据所对应的编辑程序; ACTION_VIEW:打开能够显示Data中封装的数据的应用程序; ACTION_MAIN:声明程序的入口,该Action并不会接收任何数据,同时结束后也不会返回任何数据; ACTION_BOOT_COMPLETED:BroadcastReceiverAction的常量,表明系统启动完毕; ACTION_TIME_CHANGED:BroadcastReceiverAction的常量,表明系统时间通过设置而改变。 6.1 Intent Data主要是对Intent消息中数据的封装,主要描述Intent的动作所操作的数据的URI及类型。不同类型的Action会有不同的Data封装,例如打电话的Intent会封装tel:格式的电话URI,而ACTION_VIEW的Intent中的Data则会封装http:格式的URI。正确的Data封装对Intent匹配请求同样非常重要。 Category是对目标组件类别信息的描述。同样作为一个字符串对象,一个Intent中可以包含多个Category。与Category相关的方法有三个,addCategory()添加一个Category,removeCategory()删除一个Category,而getCategory()得到一个Category。Android系统同样定义了一组静态字符常量来表示Intent的不同类型,下面列出一些常见的Category常量。 6.1 Intent CATEGORY_GADGET,表明目标Activity是可以嵌入到其他Activity中的; CATEGORY_HOME,表明目标Activity是HOMEActivity; CATEGORY_TAB,表明目标Activity是TabActivity的一个标签下的Activity; CATEGORY_LAUNCHER,表明目标Activity是应用程序中最先被执行的Activity; CATEGORY_PREFERNCE,表明目标Activity是一个偏好设置的Activity。 Extra中封装了一些额外的附加信息,这些信息是以键值对的形式存在的。Intent可以通过putExtras()与getExtras()方法来存储和获取Extra。在Android系统的Intent类中,同样对一些常用的Extra键值进行定义。如下所示。 EXTRA_BCC,装有邮件密送地址的字符串数组; EXTRA_EMAIL,装有邮件发送地址的字符串数组; EXTRA_UID,使用ACTION_UID_REMOVED动作时,描述删除用户的id; EXTR

文档评论(0)

花好月圆 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档