Android 5.3 Intent与应用间的通信.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文档。上传文档
查看更多
解析Intent Intent过滤器 示例 3 解析Intent Intent过滤器 特别说明 为了接收隐式 Intent,必须将 CATEGORY_DEFAULT 类别包括在 Intent 过滤器中。方法 startActivity() 和 startActivityForResult() 将按照已申明 CATEGORY_DEFAULT 类别的方式处理所有 Intent。 如果未在 Intent 过滤器中声明此类别,则隐式 Intent 不会解析为您的 Activity。 可以创建一个包括多个 action、data 或 category 实例的过滤器。创建时,仅需确定组件能够处理这些过滤器元素的任何及所有组合即可。 使用 Intent 过滤器时,无法安全地防止其他应用启动组件。尽管 Intent 过滤器将组件限制为仅响应特定类型的隐式 Intent,但如果开发者确定您的组件名称,则其他应用有可能通过使用显式 Intent 启动您的应用组件。如果必须确保只有您自己的应用才能启动您的某一组件,需要将该组件 exported 属性设置为 false。 3 解析Intent Action过滤规则 Intent对象中指定的动作必须匹配Intent过滤器动作列表中的一个。如果Intent或Intent过滤器没有指定一个动作,则:如果Intent过滤器没有指定动作,没有一个Intent被匹配,所有的Intent都检测失败,即没有Intent能够通过Intent过滤器;如果Intent对象没有指定动作(但必须指定其他属性),将自动通过检查(前提是Intent过滤器的动作列表不为空)。 3 解析Intent Category过滤规则 Intent对象中的每个类别必须匹配Intent过滤器中的一个。即Intent过滤器能够列出额外的类别,但是Intent对象中的类别都必须能够在Intent过滤器中找到,只要有一个类别在Intent过滤器列表中没有,就算类别检测失败。因此,原则上如果一个Intent对象中没有类别(即类别字段为空),那么应该总是通过类别测试,而不管Intent过滤器中有什么类别。但是有个例外,Android对待所有传递给Context.startActivity()的隐式Intent至少包含“ent.category.DEFAULT”类别。 3 解析Intent Data过滤规则 一个Intent对象既不包含Uri,也不包含数据类型:仅当Intent过滤器也不指定任何Uri和数据类型时,才能通过检测,否则不能通过。 一个Intent对象包含Uri,但不包含数据类型:仅当Intent过滤器也不指定数据类型,同时它们的Uri匹配,才能通过检测。例如,mailto:和tel:都不指定实际数据。 一个Intent对象包含数据类型,但不包含Uri:仅当过滤也只包含数据类型且与Intent相同,才能通过检测。 一个Intent对象既包含Uri,也包含数据类型(或数据类型能够从Uri推断):数据类型部分,只有与Intent过滤器中之一匹配才算通过;Uri部分,它的Uri要出现在Intent过滤器中,或者它有content:或file: Uri,又或者Intent过滤器没有指定Uri。 3 隐式 Intent 如何通过系统传递以启动其他 Activity 的图解:[1]?Activity A 创建包含操作描述的?Intent,并将其传递给?startActivity()。[2]?Android 系统搜索所有应用中与 Intent 匹配的 Intent 过滤器。找到匹配项之后,[3]?该系统通过调用匹配 Activity(Activity B)的?onCreate()?方法并将其传递给Intent,以此启动匹配 Activity。 Intent * 08 * 认识Intent 构建Intent 目录 CONTENT 1 2 解析Intent 3 参考教材:《Android应用开发项目化教程》 认识Intent 作用 Intent 是一个消息传递对象,可以使用它协助应用之间的交互与通讯。 Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。 Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。 1 认识Intent 启动组件 Activity startActivity() startActivityForResult() Service startService() bindService() BroadcastReceiver sendBroadca

文档评论(0)

弹弹 + 关注
实名认证
文档贡献者

人力资源管理师、教师资格证持证人

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

版权声明书
用户编号:6152114224000010
领域认证该用户于2024年03月13日上传了人力资源管理师、教师资格证

1亿VIP精品文档

相关文档