Android开发-API指南-<intent-filter>
<intent-filter>
英文原文:http://developer.android.com/guide/topics/manifest/intent-filter-element.html
采集(更新)日期:2014-7-1
搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmuk.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 之间。请参阅
setPriority()
。
- 引入自:
- API 级别 1
- 参阅:
-
<action>
<category>
<data>