Android过滤器的安全机制

一个过滤器和Intent对象有同样的动作、数据以及类别字段,一个隐式Intent在过滤器的所有3个方面都被测试。为了递交到拥有这个过滤器的组件,过滤器必须通过动作、数据以及类别这3项测试。即使只有一个不通过,Android系统也不会把它递交给这个组件。

1)ACTION

<intent-filter>

            <action android:name="com.example.project.1"/>

            <action android:name="com.example.project.2"/>

</intent-filter>

            在上述代码中,一个Intent对象只对单个动作命名,而一个过滤器可能会列举多个。列举不能为空;一个过滤器必须包含至少一个动作元素,否则将会阻塞所有的意图。为了通过上述的测试,在Intent对象中指定的动作必须匹配过滤器中所列举的动作之一。如果过滤器或者Inteng对象不指定一个动作,那么意图测试就会失败。


2)CATEGORY

<intent-filter>

             <category android:name="android.intent.category.DEFAULT"/>

             <category android:name="android.intent.category.BROWSABLE"/>

</intent-filter>

对于一个通过类别测试的Intent,每个Intent对象中的类别必须匹配一个过滤器中的类别。这个过滤器可以列举另外的类别,但是不能遗漏任何在这个Intent中的类别。所以,原则上一个没有类别的Intent对象应该总能通过测试,无论过滤器中有什么。


3)DATA

上同。。。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值