- 1、本文档共140页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * 意图过滤器在intent中匹配action,categories和数据(通过type,scheme,path).也包含优先级属性. action,category和data都可以提供多个可能的值. action:没有给定值的话,不会测试通过. data:如果没有指定值,只匹配不含data的意图. data分成三个属性:type,scheme,authority和path.任何指定的值必须匹配intent的内容. 如果指定scheme,没有type,只有没有type的intent匹配,而content:类型的URI永远不可能匹配,因为任何provider都会提供一个mime类型. 如果指定type而没有scheme,具有特殊含义,或许匹配没有URI字段的Intent,或者带有content:|file:的intent.如果两个都没有指定,则只有不包含data或 type的Intent匹配. 指定authority,也必须指定一个或多个与之关联的scheme.指定path,必指定一个或多个authority和一个或多个之关联的scheme. * 动作测试(Action test) 一个Intent只能指定一个Action名称,而一个过滤器可能列举多个动作名称.如果意图对象或过滤器没有指定任何动作,结果将如下: ? 如果过滤器没有指定任何动作,那么将阻塞所有的意图,因此所有的意图都会测试失败.没有意图能够通过这个过滤器. ? 另一方面,只要过滤器包含至少一个动作,一个没有指定动作的意图(空意图)对象自动通过这个测试 类别测试(Category test) 对于一个能够通过类别匹配测试的意图,意图对象中的类别必须匹配过滤器中的类别.这个过滤器可以列举另外的类别,但它不能遗漏在这个意图中的任何类别.[匹配其中的一个类别即可] 原则上一个没有类别的意图对象应该总能够通过匹配测试,而不管过滤器里有什么.大部分情况下这个是对的.但有一个例外,Android把所有传给startActivity()的隐式意图当作他们包含至少一个类别:ent.category.DEFAULT (CATEGORY_DEFAULT常量). 因此,想要接收隐式意图的活动必须在它们的意图过滤器中包含ent.category.DEFAULT.(带ent.action.MAIN和ent.category.LAUNCHER设置的过滤器是例外) 数据测试(Data test) 当一个意图对象中的URI被用来和一个过滤器中的URI比较时,比较的是URI的各个组成部分.例如,如果过滤器仅指定了一个scheme,所有该scheme的URIs都能够和这个过滤器相匹配;如果过滤器指定了一个scheme、主机名但没有路经部分,所有具有相同scheme和主机名的URIs都可以和这个过滤器相匹配,而不管它们的路经;如果过滤器指定了一个scheme、主机名和路经,只有具有相同scheme、主机名和路经的URIs才可以和这个过滤器相匹配.当然,一个过滤器中的路径规格可以包含通配符,这样只需要部分匹配即可. 数据测试同时比较意图对象和过滤器中指定的URI和数据类型.规则如下: a. 一个既不包含URI也不包含数据类型的意图对象仅在过滤器也同样没有指定任何URIs和数据类型的情况下才能通过测试. b. 一个包含URI但没有数据类型的意图对象仅在它的URI和一个同样没有指定数据类型的过滤器里的URI匹配时才能通过测试.这通常发生在类似于mailto:和tel:这样的URIs上:它们并不引用实际数据. c. 一个包含数据类型但不包含URI的意图对象仅在这个过滤器列举了同样的数据类型而且也没有指定一个URI的情况下才能通过测试. d. 一个同时包含URI和数据类型(或者可从URI推断出数据类型)的意图对象可以通过测试,如果它的类型和过滤器中列举的类型相匹配的话.如果它的URI和这个过滤器中的一个URI相匹配或者它有一个内容content:或者文件file: URI而且这个过滤器没有指定一个URI,那么它也能通过测试.换句话说,一个组件被假定为支持content:和file: 数据如果它的过滤器仅列举了一个数据类型. * * * * * * * * * * * * * * * * * * * * * * * declare-styleable name=Wallpaper !-- Component name of an activity that allows the user to modify the current settings for this wallpaper. -- attr
您可能关注的文档
最近下载
- 女犯的心理征及其心理矫治.doc VIP
- 2024版义务教育(道德与法治)课程标准(含2024年修订部分).pptx VIP
- MAN+L3240(TIERII)柴油机VIT技术的介绍应用研讨.pdf VIP
- NB∕T 10139-2019 水电工程泥石流勘察与防治设计规程.pdf VIP
- 起重吊装专项施工方案.docx VIP
- 墙面金属板安装施工方案与技术措施.docx VIP
- 公司收购(股权转让)法律尽职调查报告(律师专业版).docx VIP
- 企业内部控制培训课件完整版(164页PPT).ppt VIP
- 金属板墙面安装施工方案.doc VIP
- Hypertherm海宝 MAXPRO200 使用手册 中文.pdf VIP
文档评论(0)