Intent与Intent过滤器

Intent与Intent过滤器

动作测试:

一个意图对象只能指定一个动作名称,而一个过滤器可以列举多个动作名称。

(1)如果过滤器没有给指定任何动作,那么将阻止所有的意图。所有意图都会测试失败。

(2)只要过滤器包含至少一个动作,一个没有指定动作的意图对象自动通过这个测试。

类别测试:

对于一个能够通过类别匹配测试的意图,意图对象中的类别必须匹配过滤器中的类别。这个过滤器可以列举其他类别,但他不能遗漏在这个意图中的任何类别。

数据测试:

(1)一个既不包含Uri也不包含数据类型的意图对象仅在过滤器也同样没有指定任何Uri和数据类型的情况下才能通过测试。

(2)一个包含Uri但没有数据类型的意图对象仅在它的Uri和一个同样没有指定数据类型的过滤器里的Uri匹配时才能通过测试。

(3)一个包含数据类型但不包含Uri的意图对象仅在这个过滤器列举了同样的数据类型而且也没有指定一个Uri的情况下才能通过测试。

(4)如果它的类型和过滤器中列举的类型相匹配的话,一个同时包含Uri和数据类型的意图对象可以通过测试。


你可能感兴趣的:(Intent与Intent过滤器)