97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

  您的位置:華清遠見教育科技集團 >> 新聞動態(tài) >> Android資料 >> Android開發(fā)之注冊Intent過濾器  
 
Android開發(fā)之注冊Intent過濾器
分享到:

Intent過濾器是一種根據(jù)Intent中的動作(Action)、類別(Categorie)和數(shù)據(jù)(Data)等內(nèi)容,對適合接收該Intent的組件進行匹配和篩選的機制。它可以匹配數(shù)據(jù)類型、路徑和協(xié)議,還可以用來確定多個匹配項順序的優(yōu)先級(Priority)。

應(yīng)用程序的Activity組件、Service組件和BroadcastReceiver都可以注冊Intent過濾器,這些組件在特定的數(shù)據(jù)格式上就可以產(chǎn)生相應(yīng)的動作。

注冊Intent過濾器的方法如下:

在AndroidManifest.xml文件的各個組件的節(jié)點下定義<intent-filter>節(jié)點,然后在<intent-filter>節(jié)點中聲明該組件所支持的動作、執(zhí)行的環(huán)境和數(shù)據(jù)格式等信息。

<intent-filter>節(jié)點支持<action>標簽、<category>標簽和<data>標簽,其中:<action>標簽定義Intent過濾器的“類別”;<category>標簽定義Intent過濾器的“動作”;<data>標簽定義Intent過濾器的“數(shù)據(jù)”。

<intent-filter>節(jié)點支持的標簽和屬性如表6-4所示。

表6-4 <intent-filter>節(jié)點支持的標簽和屬性

標 簽 屬 性 說 明
<action> Android:name 指定組件所能響應(yīng)的動作,用字符串表示,通常使用Java類名和包的完全限定名構(gòu)成
<category> Android:category 指定以何種方式去服務(wù)Intent請求的動作
<data> Android:host 指定一個有效的主機名
Android:mimetype 指定組件能處理的數(shù)據(jù)類型
Android:path 有效的Uri路徑名
Android:port 主機的有效端口號
Android:scheme 所需要的特定的協(xié)議

<category>標簽用來指定Intent過濾器的服務(wù)方式,每個Intent過濾器可以定義多個<category>標簽,程序開發(fā)人員可使用自定義的類別,或使用Android系統(tǒng)提供的類別。其中,Android系統(tǒng)提供的類別如表6-5所示。

表6-5 Android系統(tǒng)提供的類別

說 明
ALTERNATIVE Intent數(shù)據(jù)默認動作的一個可替換的執(zhí)行方法
SELECTED_ALTERNATIVE 和ALTERNATIVE類似,但替換的執(zhí)行方法不是指定的,而是被解析出來的
BROWSABLE 聲明Activity可以由瀏覽器啟動

續(xù)表

說 明
DEFAULT 為Intent過濾器中定義的數(shù)據(jù)提供默認動作
HOME 設(shè)備啟動后顯示的第一個Activity
LAUNCHER 在應(yīng)用程序啟動時首先被顯示

AndroidManifest.xml文件中的每個組件的<intent-filter>都被解析成一個Intent過濾器對象。當應(yīng)用程序安裝到Android系統(tǒng)時,所有的組件和Intent過濾器都會注冊到Android系統(tǒng)中。這樣,Android系統(tǒng)便知道了如何將任意一個Intent請求通過Intent過濾器映射到相應(yīng)的組件上。

 更多相關(guān)文章

·Android開發(fā)之使用Intent發(fā)送廣播消息
·Android開發(fā)之Intent解析
·Android開發(fā)之使用Intent隱式啟動Activity
·如何使用Intent顯式啟動Activity?
·Android開發(fā)中Intent屬性詳解