属性(ATTRIBUTES):
android:host
这个属性用户定义URI授权的主机部分,除非给过滤器也指定了元素的scheme属性,否则这个属性没有意义。
注意:在Android框架中,主机名的匹配是大小写敏感的,跟RFC格式不一样。因此,要始终使用小写字母来指定主机名。
android:mimeType
这个属性用于设定数据的MIME类型,如:image/jpeg或audio/mpeg4-generic。其子类型可用星号通配符(*)来代替,指示能够跟任何子类型匹配。
注意:在Android框架中,MIME类型的匹配是大小写敏感的,跟RFC格式不一样。因此,要始终使用小写字母来指定MIME类型。
android:path
android:pathPrefix
android:pathPattern
这个三个属性用于指定URI的路径部分。Path属性指定一个完整的路径,这个路径会跟Intent对象中的路径进行匹配。PathPrefix属性只指定了部分路径,它会跟Intent对象中的路径初始部分匹配。pathPattern属性指定一个要跟Intent对象中的路径进行匹配的完整路径,但是这个路径中可以包含下列通配符:
1. 星号(*)通配符,路径中的*星号代表任意多个星号之前的那个字符,如a*,可跟a、aa、aaa、aaaa、...字符串匹配。
2. 点跟星号的组合(.*)通配符,它可以跟任意字符串进行匹配,如.*html,可以跟abchhtml、chtml、html、dssf.html、…等字符串匹配。
因为系统读取XML中的字符串时,会把’\’符号作为强制转义字符,因此就需要两次转义。例如,符号”*”要被写成”\\*”,符号’\’要被写成”\\\\”。这与Java代码中的写法基本相同。
有关这三种模式的更多信息,请看PatternMatcher类中的PATTERN_LITERAL、PATTERN_PREFIX、PATTERN_SIMPLE_GLOB的说明。
android:port
这个属性用于定义URI授权的端口部分。只有给过滤器指定了scheme和host属性时,这个属性才有意义。
android:scheme
这个属性用于设定URI的scheme部分。它是给指定URI设置的最基本的属性,至少要给过滤器设置一个scheme属性,否则,其他的URI属性就没有意义了。
scheme属性值没有”:”符号结尾(如,http,而不是http: )
如果过滤器有一个数据类型(设置了mimeType属性),但没有设置scheme属性,那么系统就会假定scheme是content:和file:
注意:在Android框架中,scheme的匹配时大小写敏感的,跟RFC格式不一样。因此,要始终使用小写字母来指定scheme。