AndroidMainfest.xml详解——<intent-filter>
2017-01-11 11:25
666 查看
语法:
包含于:
必须包含:
可包含:
说明:
定义可由 Activity 、Service 或 Broadcast Receiver 响应的 Intent 类型。 Intent 过滤器声明了其父组件的功能 — Activity 或 Service 可完成的功能以及 Receiver 可处理的广播类型。 这将过滤掉对组件没有意义的 Intent,并打开相应的组件来接收指定类型的 Intent 。
过滤器的大部分内容由其 < action > 、 < category > 和 < data > 子元素进行声明。
关于过滤器更为详尽的讨论,请参阅单独的文档 Intent 和 Intent 过滤器 ,以及 Manifest 介绍中的 Intent 过滤器 部分。
属性:
android:icon
供用户查看的代表所属 Activity、Service 或 Broadcast Receiver 的图标,表示这些组件拥有过滤器所描述的功能。
本属性必须设为对 drawable 资源的引用,该资源包含了图片的定义。 默认值是所属父组件的 icon 属性。 如果父组件未指定图标,默认值是 < application > 元素设置的图标。
关于 Intent 过滤器图标的详细信息,请参阅 Manifest 介绍一文中的 图标和文本标签部分。
android:label
供用户查看的所属父组件的文本标签。 与父组件定义的文本标签不同,本标签用于向用户标明父组件拥有过滤器所描述的功能。
文本标签应该设为对字符串资源的引用,这样就能像用户界面中的其他字符串一样进行本地化。不过,为了应用程序开发时的便利,也可以直接设为一个字符串。
默认值是父组件设置的文本标签。 如果父组件未设置文本标签,则默认值是 < application > 元素设置的 label 属性。
关于 Intent 过滤器文本标签的详细信息,请参阅 Manifest 介绍一文中的 图标和文本标签部分。
android:priority
为了处理过滤器指定类型的 Intent,需赋予父组件的优先级。 本属性同时适用于 Activity 和 Broadcast Receiver :
它给出了该 Activity 对过滤器相匹配的 Intent 做出响应的优先程度,这是相对其他同样能够响应该类 Intent 的 Activity 而言的。 当某个 Intent 可以被多个不同优先级的 Activity 响应时, Android 只会考虑将那些优先级更高的 Activity 作为该 Intent 潜在的传递目标。
它控制各个 Broadcast Receiver 接收广播消息的顺序。 优先级较高的 Receiver 将比优先级低的优先被调用。(这只适用于同步消息,异步消息将忽略此顺序)。
仅当确实需要强行指定广播消息接收的顺序时,或者需要强迫 Android 优先选用某 Activity 时,才会使用本属性。
本属性必须是整数值,比如“100”。数字越大则优先级越高。 默认值为 0 。 本属性值必须介于 -1000 和 1000 之间。
英文地址:https://developer.android.com/guide/topics/manifest/intent-filter-element.html
<intent-filter android:icon="drawable resource" android:label="string resource" android:priority="integer" > . . . </intent-filter>
包含于:
<activity> <activity-alias> <service> <receiver>
必须包含:
< action >
可包含:
< category > < data >
说明:
定义可由 Activity 、Service 或 Broadcast Receiver 响应的 Intent 类型。 Intent 过滤器声明了其父组件的功能 — Activity 或 Service 可完成的功能以及 Receiver 可处理的广播类型。 这将过滤掉对组件没有意义的 Intent,并打开相应的组件来接收指定类型的 Intent 。
过滤器的大部分内容由其 < action > 、 < category > 和 < data > 子元素进行声明。
关于过滤器更为详尽的讨论,请参阅单独的文档 Intent 和 Intent 过滤器 ,以及 Manifest 介绍中的 Intent 过滤器 部分。
属性:
android:icon
供用户查看的代表所属 Activity、Service 或 Broadcast Receiver 的图标,表示这些组件拥有过滤器所描述的功能。
本属性必须设为对 drawable 资源的引用,该资源包含了图片的定义。 默认值是所属父组件的 icon 属性。 如果父组件未指定图标,默认值是 < application > 元素设置的图标。
关于 Intent 过滤器图标的详细信息,请参阅 Manifest 介绍一文中的 图标和文本标签部分。
android:label
供用户查看的所属父组件的文本标签。 与父组件定义的文本标签不同,本标签用于向用户标明父组件拥有过滤器所描述的功能。
文本标签应该设为对字符串资源的引用,这样就能像用户界面中的其他字符串一样进行本地化。不过,为了应用程序开发时的便利,也可以直接设为一个字符串。
默认值是父组件设置的文本标签。 如果父组件未设置文本标签,则默认值是 < application > 元素设置的 label 属性。
关于 Intent 过滤器文本标签的详细信息,请参阅 Manifest 介绍一文中的 图标和文本标签部分。
android:priority
为了处理过滤器指定类型的 Intent,需赋予父组件的优先级。 本属性同时适用于 Activity 和 Broadcast Receiver :
它给出了该 Activity 对过滤器相匹配的 Intent 做出响应的优先程度,这是相对其他同样能够响应该类 Intent 的 Activity 而言的。 当某个 Intent 可以被多个不同优先级的 Activity 响应时, Android 只会考虑将那些优先级更高的 Activity 作为该 Intent 潜在的传递目标。
它控制各个 Broadcast Receiver 接收广播消息的顺序。 优先级较高的 Receiver 将比优先级低的优先被调用。(这只适用于同步消息,异步消息将忽略此顺序)。
仅当确实需要强行指定广播消息接收的顺序时,或者需要强迫 Android 优先选用某 Activity 时,才会使用本属性。
本属性必须是整数值,比如“100”。数字越大则优先级越高。 默认值为 0 。 本属性值必须介于 -1000 和 1000 之间。
英文地址:https://developer.android.com/guide/topics/manifest/intent-filter-element.html
相关文章推荐
- AndroidMainfest.xml详解——<uses-feature/>
- AndroidMainfest.xml详解——<uses-library/>
- AndroidMainfest.xml详解——<activity>
- AndroidMainfest.xml详解——<path-permission>
- AndroidMainfest.xml详解——<grant-uri-permission>
- AndroidMainfest.xml详解——<manifest>
- AndroidMainfest.xml详解——<supports-gl-texture>
- AndroidMainfest.xml详解——<permission-tree>
- AndroidMainfest.xml详解——<action>
- AndroidMainfest.xml详解——<application/>
- AndroidMainfest.xml详解——<activity>
- AndroidMainfest.xml详解——<compatible-screens>
- AndroidMainfest.xml详解——<category>
- AndroidMainfest.xml详解——<uses-permission/>
- AndroidMainfest.xml详解——<activity-alias>
- AndroidMainfest.xml详解——<receiver>
- AndroidMainfest.xml详解——<uses-configuration>
- AndroidMainfest.xml详解——<meta-data>
- AndroidMainfest.xml详解——<data>
- AndroidMainfest.xml详解——<provider>