<意圖篩選器>

語法:
<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>
說明:
指定活動、服務或廣播接收器可回應的意圖類型。意圖篩選器會宣告其父項元件的功能,包括活動或服務可執行的作業,以及接收器可處理的廣播類型。

此外,意圖篩選器會開啟元件來接收通告類型的意圖,同時過濾對元件而言沒有意義的意圖。篩選器的大部分內容都是由其子元素來描述:

如需有關篩選器的詳細討論內容,請參閱「意圖和意圖篩選器」一文,以及「應用程式資訊清單總覽」中的「意圖篩選器」一節。

屬性:
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 是否需要驗證指定主機提供的 Digital Asset Links JSON 檔案與這個應用程式相符。

詳情請參閱「驗證 Android 應用程式連結」一文。

預設值為 false

這項屬性是在 API 級別 23 中導入。

導入版本:
API 級別 1
另請參閱:
<action>
<category>
<data>
<uri-relative-filter-group>