<intent-filter>

语法
<intent-filter android:icon="drawable resource"
               android:label="string resource"
               android:priority="integer" >
    ...
</intent-filter>
包含在
<activity>
<activity-alias>
<service>
<receiver>
<provider>
必须包含
<action>
可以包含
<category>
<data>
<uri-relative-filter-group>
描述
指定 Activity、Service 或广播接收器可以响应的 Intent 类型。Intent 过滤器声明其父组件的能力:Activity 或 Service 可以做什么,以及接收器可以处理哪些类型的广播。

它使组件能够接收所宣传类型的 Intent,同时过滤掉对该组件无意义的 Intent。过滤器的内容大部分由其子元素描述:

有关过滤器的更详细讨论,请参阅Intent 和 Intent 过滤器以及应用清单概览中的Intent 过滤器部分。

属性
android:icon
当父 Activity、Service 或广播接收器以过滤器描述的功能呈现给用户时,代表该组件的图标。

此属性设置为对包含图像定义的可绘制资源的引用。默认值是父组件的 icon 属性设置的图标。如果父组件未指定图标,则默认值是 <application> 元素设置的图标。

有关 Intent 过滤器图标的更多信息,请参阅应用清单概览中的图标和标签部分。

android:label
父组件的用户可读标签。当组件以过滤器描述的功能呈现给用户时,将使用此标签,而不是父组件设置的标签。

标签设置为对字符串资源的引用,以便它可以像用户界面中的其他字符串一样进行本地化。然而,为了方便您开发应用程序,它也可以设置为原始字符串。

默认值是父组件设置的标签。如果父组件未指定标签,则默认值是 <application> 元素的 label 属性设置的标签。

有关 Intent 过滤器标签的更多信息,请参阅应用清单概览中的图标和标签部分。

android:priority
父组件在处理过滤器描述的 Intent 类型时所获得的优先级。此属性对 Activity 和广播接收器都具有意义。
  • 它提供了 Activity 响应与过滤器匹配的 Intent 的能力信息,相对于也可以响应 Intent 的其他 Activity 而言。当一个 Intent 可以由多个具有不同优先级的 Activity 处理时,Android 只考虑具有较高优先级值的 Activity 作为 Intent 的潜在目标。
  • 它控制广播接收器执行以接收广播消息的顺序,具有较高优先级值的接收器在具有较低优先级值的接收器之前被调用。该顺序仅适用于同步消息。对于异步消息则忽略。

仅当您需要强制指定广播接收顺序或希望强制 Android 优先选择某个 Activity 而非其他 Activity 时,才使用此属性。

该值为整数,例如 100。数字越大,优先级越高。默认值为 0

在某些情况下,请求的优先级会被忽略,并且该值上限为 0。这发生在以下情况:

有关更多信息,请参阅 setPriority()

android:order

当多个过滤器匹配时,过滤器处理的顺序。

orderpriority 的区别在于,priority 适用于跨应用,而 order 则用于区分单个应用中多个匹配的过滤器。

当多个过滤器可能匹配时,请改用定向 Intent。

该值为整数,例如 100。数字越大,匹配越靠前。默认值为 0

此属性在 API 级别 28 中引入。

android:autoVerify
Android 是否需要验证指定主机的数字资产链接 JSON 文件是否与此应用程序匹配。

有关更多信息,请参阅验证 Android 应用链接

默认值为 false

此属性在 API 级别 23 中引入。

引入于
API 级别 1
另请参阅
<action>
<category>
<data>
<uri-relative-filter-group>