intentfilterintent-filter中的data属性怎么用?到处找不到例子...

intentfilter  时间:2021-07-05  阅读:()

android intent filter 怎么获得数据

千 锋扣丁学堂iOS开发为32313133353236313431303231363533e4b893e5b19e31333361303132您解答: 1. Android把安装的包中可获得的Intent Filter放到一个列表中。

2. 动作和与正在解析的Intent的种类不关联的Intent Filter会从列表中删除。

2.1. 动作匹配指Android Intent Filter包含特定的动作或没有指定的动作。

一个Intent Filter有一个或多个定义的动作,如果没有任何一个能与Intent指定的动作匹配的话,这个Intent Filter在算作是动作匹配检查失败。

2.2. 种类匹配更为严格。

Intent Filter必须包含所有在解析的Intent中定义的种类。

一个没有特定种类的Intent Filter只能与没有种类的Intent匹配。

3. Intent的数据URI中的部分会与Intent Filter中的data标签比较。

如果Intent Filter定义scheme,host/authority,path或mimetype,这些值都会与Intent的URI比较。

任何不匹配都会导致Intent Filter从列表中删除。

没有指定data值的Android Intent Filter会和所有的Intent数据匹配。

3.1. mimetype是正在匹配的数据的数据类型。

当匹配数据类型时,你可以使用通配符来匹配子类型(例如,earthquakes/*)。

如果Intent Filter指定一个数据类型,它必须与Intent匹配;没有指定数据的话全部匹配。

3.2. scheme是URI部分的协议——例如,http:,mailto:,tel:。

3.3. host-name或“data authority”是介于URI中scheme和path之间的部分。

匹配主机名时,Intent Filter的scheme也必须通过匹配。

3.4. 数据path是紧接在“data authority”的后面(例如,/ig)。

path只在scheme和host-name部分都匹配的情况下才匹配。

4. 如果这个过程中多于一个组件解析出来的话,它们会以优先度来排序,可以在Android Intent Filter的节点里添加一个可选的标签。

最高等级的组件会返回。

Android本地的应用程序组件和第三方应用程序一样,都是Intent解析过程中的一部分。

它们没有更高的优先度,可以被新的Activity完全的代替,这些新的Activity宣告自己的Intent Filter能响应相同的动作请求。

android,,,manifest.xml 怎么有两个 <intent-filter >??每个作用是什么啊?

首先注意每个intent-filter 是在不同的activity里。

<intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 这个是FirstActivity类的,表示这个activity是主页面,就是app运行时的启动页面。

<intent-filter > <action android:name="test_action" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> 这个是SecondActivity类的,表明想得到一个action为“test_action”的intent,从你的类名猜测,你应该是从FirstActivity跳转到SecondActivity。

那么在创建intent时,设置action为“test_action”,则可以实现。

简单的说Intent是请求或者意图,你可以使用IntentFilter 来过滤出自己想要的intent,详细了解可在网上搜索intent关键字。

intent-filter中的data属性怎么用?到处找不到例子...

检查 Data 同Action一样,Intentfilter中的Data部分也可以是一个或者多个,而且可以没有。

每个Data包含的内容为URL和数据类型,进行Data检查时主要也是对这两点进行比较,比较规则: 如果一个Intent对象没有设置Data,只有Intentfilter也没有设置Data时才可通过检查。

如果一个Intent对象包含URI,但不包含数据类型:仅当Intentfilter也不指定数据类型,同时它们的URI匹配,才能通过检测。

如果一个Intent对象包含数据类型,但不包含URI:仅当Intentfilter也没指定URL,而只包含数据类型且与Intent相同,才通过检测。

如果一个Intent对象既包含URI,也包含数据类型(或数据类型能够从URI推断出),只有当其数据类型匹配Intentfilter中的数据类型,并且通过了URL检查时,该Intent对象才能通过检查。

其中URL由四部分组成:它有四个属性scheme、host、port、path对应于URI的每个部分。

例如:content:/.wjr.example1:121/files scheme部分:content host部分.wjr.example1 port部分:121 path部分:files host和port部分一起构成URI的凭据(authority),如果host没有指定,那port也会被忽略。

这四个属性是可选的,但他们之间并不是完全独立的。

要让authority有意义,scheme必须要指定。

要让path有意思,scheme和authority必须指定。

Intentfilter中的path可以使用通配符来匹配path字段,Intent和Intentfilter都可以用通配符来指定MIME类型。

没详细了解过 不知道能不能帮助到你 到安卓巴士网站查看回答详情>>

免费注册宝塔面板账户赠送价值3188礼包适合购买抵扣折扣

对于一般的用户来说,我们使用宝塔面板免费版本功能还是足够的,如果我们有需要付费插件和专业版的功能,且需要的插件比较多,实际上且长期使用的话,还是购买付费专业版或者企业版本划算一些。昨天也有在文章中分享年中促销活动。如今我们是否会发现,我们在安装宝塔面板后是必须强制我们登录账户的,否则一直有弹出登录界面,我们还是注册一个账户比较好。反正免费注册宝塔账户还有代金券赠送。 新注册宝塔账户送代金券我们注册...

CloudServer:$4/月KVM-2GB/50GB/5TB/三个数据中心

CloudServer是一家新的VPS主机商,成立了差不多9个月吧,提供基于KVM架构的VPS主机,支持Linux或者Windows操作系统,数据中心在美国纽约、洛杉矶和芝加哥机房,都是ColoCrossing的机器。目前商家在LEB提供了几款特价套餐,最低月付4美元(或者$23.88/年),购买更高级别套餐还能三个月费用使用6个月,等于前半年五折了。下面列出几款特别套餐配置信息。CPU:1cor...

妮妮云(119元/季)日本CN2 2核2G 30M 119元/季

妮妮云的知名度应该也不用多介绍了,妮妮云旗下的云产品提供商,相比起他家其他的产品,云产品还是非常良心的,经常出了一些优惠活动,前段时间的八折活动推出了很多优质产品,近期商家秒杀活动又上线了,秒杀产品比较全面,除了ECS和轻量云,还有一些免费空间、增值代购、云数据库等,如果你是刚入行安稳做站的朋友,可以先入手一个119/元季付的ECS来起步,非常稳定。官网地址:www.niniyun.com活动专区...

intentfilter为你推荐
ISDNISDN是什么网络?scanf_sscanf_s和以前的scanf是一样等级的吗???知识库管理系统销售易CRM知识库,这是干什么用的?rdlDVD±RW/±RDL/RAM 具体什么意思天融信防火墙都说天融信的产品不错,那天融信的下一代防火墙真的是当今最好的防火墙产品了吗?弹幕网站谁能给我解释一下什么叫A站,什么叫B站?都是啥网站?社工库网站怎么找社工库?清除电脑垃圾怎么清除电脑的垃圾啊?银联商务招聘中国银联商务有限公司工资待遇情況如何?疫苗之王“龟毛之王”是什么意思???
虚拟主机服务商 主机域名 播放vps上的视频 高防直连vps virpus 免费主机 idc测评网 哈喽图床 ubuntu更新源 天猫双十一抢红包 警告本网站 eq2 免费ftp站点 cpanel空间 架设服务器 百度云1t 东莞主机托管 服务器论坛 域名转入 中国联通宽带测试 更多