Android Manifest之元素中文注释

语法

    <data android:host="string"

      android:mimeType="string"

      android:path="string"

      android:pathPattern="string"

      android:pathPrefix="string"

      android:port="string"

      android:scheme="string" />

父元素

    <intent-filter>

描述

    对intent filter添加data说明。这个说明可以是一个data type(mimeType属性),一个URI,或data type和URI组合。URI的每个部分都由单独的属性指定:

    scheme://host:port/path orpathPrefix or pathPattern

    这些属性是可选的,但也是相互依赖的:如果对这个intent filter没有指定scheme,那么所有其它的URI属性就会被忽略。如果对这个intent filter没有指定host,那么这个port属性和它的所有path属性就会被忽略。

    所有的<data>元素都用同一个<intent-filter>元素包含从属于同一个过滤器。因此,例如,下方的过滤器说明,

    <intent-filter . . . >

       <data android:scheme="something"android:host="project.example.com" />

       . . .

    </intent-filter>

    等价于

    <intent-filter . . . >

       <data android:scheme="something" />

       <data android:host="project.example.com" />

       . . .

    </intent-filter>

    你能在<intent-filter>中放置如何数量的<data>元素提供多个数据选项,它的属性都没有默认值。

属性

android:host

    URI的host部分。除非这个过滤器也指定了scheme,否则这个属性是无意义的。

    注意:和RFC中定义的不一样的是,在android框架中匹配的主机名是区分大小写的。因此,你应当总是使用小写字母来指定主机名。

android:mimeType

   MIME媒体类型,例如image/jpg或audio/mpeg4-generic。

   对intent filter来说,定义只包含android:mimeType属性的<data>是最常见的。星号通配符(*)表示一切

型。

    注意:和正式的RFC MIME类型中定义的不一样的是,在Android框架中匹配的MIME类型是区分大消息的。因此,你应当总是使用小写字母来指定MIME类型。

android:path

android:pathPrefix

android:pathPattern

    URI的path部分。这个path属性指定了完整路径,它用来匹配在intent对象中的全路径。这个pathPrefix属性指定了部分路径,它只用来匹配这个intent对象开始部分。这个pathPattern属性指定了全路径,它用来匹配这个intent对象中的全路径,但是它还能包含如下的通配符:

   ·星号(*)匹配一个0到多次出现的即时(紧接)出现的前驱字符序列。

   ·点跟星号(.*)匹配0到多个字符的任意序列。

    因为当从XML读取这个字符串之前(在它被解释器解释为模式之前),‘\’被作为转义字符使用,所以你需要使用双转义字符:例如,“*”需要写成“\\*”并且“\”需要写成“\\\\”。这基本上和如果在Java代码中构造字符串的话你需要写的东西是相同的。

    想获得关于这三种类型模式的更多信息,参见PatternMatcher类中PATTERN_LITERAL,PATTERN_PREFIX,和PATTERN_SIMPLE_GLOB的描述。

   这些属性只有在这个过滤器也设置了scheme和host属性时,才是有意义的。

android:port

   URI的port部分。只有对这个过滤器也指定了scheme和host那么这个属性才是有意义的。

android:scheme

    URI的scheme部分。这是指定URI的基本属性;对这个过滤器必须至少设置一个scheme属性,否则其它的URI属性都是没有意义的。

    指定这个scheme不需要后面的冒号(例如http而不是http:)。

    如果这个过滤器有数据类型设置(mimeType属性),而没有scheme,那么会自动假定scheme为content:和file:。

出处

    API Level 1

你可能感兴趣的:(Scheme,Path,port,Data,host)