隐式Intent的每个部分的匹配条件

隐式Intent的每个部分的匹配条件

一、操作

如果Intent过滤器没有定义操作,则该Intent过滤器克匹配所有传入的Intent操作

如果Intent过滤器中指定了一个或者多个操作,则至少一个操作必须与传入的Intent操作匹配

二、数据

如果Intent过滤器中没有指定数据特征,它将不会匹配包含任何数据或数据特性的传入的Intent。

注意:缺少数据和缺少操作的情况是相反的。

      如果没有操作,匹配所有操作。如果没有数据,不匹配任何数据。

三、数据类型

Intent中的数据类型必须存在于Intent过滤器中。

传入的Intent的数据类型通过两种方式确定:

第一种是:如果数据URI时一个内容或文件URI,ContentProvider或Android将确定类型;

第二种是:查看Intent的显式数据类型。

数据类型区分大小写

四、数据模式

传入的数据模式必须存在于Intent过滤器中。

所有组件都应该支持两种URI类型:“content:”和“file:”。

数据模式区分大小写

五、数据授权

如果过滤器中没有授权,则可以匹配任何传入的数据URI的授权

如果在过滤器中指定了授权,那么一种模式和一种授权应该与传入Intent的数据URI相匹配

数据授权区分大小写

六、数据路径

如果Intent过滤器中没有数据路径,则可以匹配任何传入数据URI的路径

如果在过滤器中指定了路径,那么一种模式、一种授权、一个数据路径应该与传入Intent的数据URI相匹配

路径区分大小写

七、Intent类别

传入的Intent中的每个类别都必须存在于过滤器类别列表中。

如果过滤器没有任何类别,它只会与没有提及任何类别的Intent匹配

转载于:https://my.oschina.net/u/914701/blog/94946

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值