<意向过滤器>

语法:
<intent-filter android:icon="drawable resource"
               android:label="string resource"
               android:priority="integer" >
    ...
</intent-filter>
包含于:
<activity>
<activity-alias>
<service>
<receiver>
<provider>
必须包含:
<action>
可包含:
<category>
<data>
说明:
指定 activity、服务或广播接收器可以响应的 intent 类型。intent 过滤器声明其父组件的功能:activity 或服务可执行哪些操作,以及接收器可处理哪些类型的广播。

它让组件可以接收所通告类型的 intent,同时过滤掉对组件没有意义的 intent。过滤器的大部分内容由它的 <action><category><data> 子元素进行描述。

如需详细了解过滤器,请参阅 intent 和 intent 过滤器以及应用清单概览中的 intent 过滤器部分。

属性:
android:icon
一个表示父 activity、服务或广播接收器的图标,在将该组件以具备过滤器所描述功能的形式呈现给用户时显示。

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

如需详细了解 intent 过滤器图标,请参阅应用清单概览中的图标和标签部分。

android:label
父组件的用户可读标签。将相应组件以具备过滤器所描述功能的形式呈现给用户时,将使用此标签(而不是父组件设置的标签)。

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

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

如需详细了解 intent 过滤器标签,请参阅应用清单概览中的图标和标签部分。

android:priority
为父组件指定的优先级,以便系统据此处理过滤器所描述类型的 intent。此属性对 activity 和广播接收器都有意义。
  • 它说明了某个 activity 对与过滤器匹配的 intent 的响应能力,这是相对于也可以响应该 intent 的其他 activity 的响应能力。当 intent 可由优先级不同的多个 activity 处理时,Android 只会将优先级值较高的 activity 视为 intent 的潜在目标。
  • 该属性用于控制广播接收器接收广播消息的执行顺序,优先级值越高,调用顺序越靠前。该顺序仅适用于同步消息。对于异步消息,系统会忽略该顺序。

只有在您需要对接收广播施加特定顺序或想要强制 Android 优先选用某个 activity 时,才能使用此属性。

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

在某些情况下,系统会忽略请求的优先级,并将值限定为 0。此类情况发生在:

如需了解详情,请参阅 setPriority()

android:order

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

orderpriority 的不同之处在于,priority 在多个应用间应用,而 order 可消除单个应用中多个匹配的过滤器的歧义。

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

该值是一个整数,例如 100。数值越高,匹配顺序越靠前。默认值为 0

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

android:autoVerify
Android 是否需要验证指定主机中的 Digital Asset Links JSON 文件与此应用的匹配情况。

如需了解详情,请参阅验证 Android App Links

默认值为 false

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

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