AndroidManifest.xml檔案詳解(intent-filter)

來源:互聯網
上載者:User

文法(SYNTAX):

<intent-filterandroid:icon="drawable resource"
               android:label="string resource"
               android:priority="integer">
    . . .
</intent-filter>

被包含於(CONTAINED IN):

<activity>

<activity-alias>

<service>

<receiver>

必須要包含的元素(MUST CONTAIN):

<action>

能夠包含的元素(CAN CONTAIN):

<category>

<data>

說明(DESCRIPTION):

這個元素用於指定Activity、Service或Broadcast Receiver能夠響應的Intent對象的類型。Intent過濾器聲明了它的父組件的能力---Activity或Service所能做的事情和Broadcast Receiver所能夠處理的廣播類型。它會開啟組件來接收它所宣告類型的Intent對象,過濾掉那些對組件沒有意義的Intent對象請求。

過濾器的大多數內容是通過<action>、<category>和<data>子項目來描述的。

屬性(ATTRIBUTES):

android:icon

當組件要把過濾器所具有的能力展示給使用者時,會使用這個屬性所設定的表徵圖來表示它的父組件(Activity、Service或Broadcast Receiver)。

這個屬性必須要引用一個包含圖片定義的可繪製資源。預設值是由父組件的icon屬性設定的。如果父組件沒有指定一個表徵圖,那麼預設值就會使用<application>元素所設定的icon。

android:label

這個屬性用於給其父組件設定一個使用者可讀的標籤。這個標籤不是有其父組件設定的那個,在組件要把過濾器所具有的能力展示給使用者的時候,要使用這個屬性值。

這個屬性值應該引用一個字串資源,以便它能夠像使用者介面中的其他字串一樣,能夠被本地化。但是,為了開發應用程式的便利,也可以使用原生的字串。

這個屬性的預設值是有它的父組件提供的。如果父組件沒有指定一個標籤,那麼預設值就會使用由<application>元素的所設定的標籤。

android:priority

這個屬性用於給過濾器設定一個優先順序。其父組件能夠通過優先順序來依次處理過濾器所描述類型的Intent對象。這個屬性對Activity和Broadcast Receiver對象有意義:

1. 它提供了Activity能夠如何響應跟過濾器匹配的Intent對象請求的資訊(相對與其他的也能響應這個Intent請求的Activity)。當一個Intent對象請求能夠被多個帶有不同優先順序的Activity處理時,Android系統只考慮把高優先順序的Intent過濾器作為潛在的Intent對象請求目標。

2. 它控制了Broadcast Receiver執行接收廣播訊息的順序。高優先順序的過濾器會優先調用。(這個順序只應用與同步訊息,對於非同步訊息會忽略優先順序的設定。)

只有真正想要給接收廣播訊息的過濾器施加一個特定順序,或者要強制Android來應用另外一個Activity,才會使用這個屬性。

這個屬性值必須是一個整數,如:100,數字越大,優先順序越高。

被引入的版本(INTRODUCED IN):

API Level 1

 


摘自 FireOfStar的專欄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.