IntentFilter

动作测试:

应用程序的组件为了告诉Andorid自己能响应、处理哪些隐式Intent请求,可以声明一个甚至多个IntentFilter.

隐式IntentIntentFilter进行比较时的三要素是IntentActionData以及Category.

一条<intent-filter>元素至少应包含一个<action>,否则任何Inrent请求都不能和该<intent-filter>匹配。

(1)如果<intent-filter>中没有包含任何Action类型,那么无论什么Intent请求都无法和这条<intent-filter>请求。

(2)反之,如果Intent请求没有设置任何Action类型,那么只要<intent-filter>中包含有Action类型,这个Intent请求就将顺利通过<intent-filter>的行为测试。

类别测试:

<intent-filter>元素可以包含<category>元素,只有当Intent请求中所有的Category与组件中某一个IntentFilter<category>完全匹配时,才会让该Intent通过测试。IntentFilter中多余的<category>声明并不会导致匹配失败。一个没有指定任何类别测试的IntentFilter仅仅只会匹配没有设置类别的Intent请求。

数据测试:

<intent-filter>元素可以包含<data>元素,<data>元素指定了希望接受的Intent请求的数据URI和数据类型,URI被分成三部分来匹配:schemeauthoritypath.其中,用setData()设定的Intent请求的URI数据类型和scheme必须与IntentFilter中所指定的一致。若IntentFilter中还指定了authorityhe path,它们也需要相匹配才会通过测试。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值