<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>
描述
指定活动、服务或广播接收器可以响应的意图类型。意图过滤器声明其父组件的功能:活动或服务可以做什么以及接收器可以处理哪种类型的广播。

它为组件打开接收广告类型意图的功能,同时过滤掉对组件没有意义的意图。过滤器的绝大部分内容由其 <action><category><data> 子元素描述。

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

属性
android:icon
当该组件被呈现给用户时,代表父活动、服务或广播接收器的图标,表示该组件具有过滤器描述的功能。

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

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

android:label
父组件的用户可读标签。当组件被呈现给用户时,此标签(而不是父组件设置的标签)用于表示该组件具有过滤器描述的功能。

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

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

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

android:priority
就处理过滤器描述类型的意图而言,赋予父组件的优先级。此属性对活动和广播接收器都有意义。

  • 它提供有关活动响应与过滤器匹配的意图的能力的信息,相对于其他也可以响应该意图的活动而言。当多个活动可以处理意图且优先级不同时,Android 仅将优先级值较高的活动视为意图的潜在目标。
  • 它控制广播接收器接收广播消息的执行顺序,优先级值较高的接收器将在优先级值较低的接收器之前被调用。该顺序仅适用于同步消息。异步消息会忽略它。

仅当您需要强制执行接收广播的特定顺序或希望强制 Android 优先选择某个活动时,才使用此属性。

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

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

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

android:order

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

orderpriority 的区别在于,priority 应用于所有应用程序,而 order 用于区分单个应用程序中多个匹配的过滤器。

当多个过滤器可以匹配时,请改用定向意图。

该值是一个整数,例如 100。数字越大,越先匹配。默认值为 0

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

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

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

默认值为 false

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

引入于
API 级别 1
另请参阅
<action>
<category>
<data>