自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android Intent Filter應(yīng)用方式講解

移動(dòng)開(kāi)發(fā) Android
我們今天將會(huì)針對(duì)Android Intent Filter這一應(yīng)用進(jìn)行一個(gè)詳細(xì)的介紹,以幫助大家加深對(duì)這一手機(jī)操作系統(tǒng)的認(rèn)識(shí)。

Android手機(jī)操作系統(tǒng)已經(jīng)推出就伸手廣大用戶(hù)的青睞,比且多家主流手機(jī)生產(chǎn)商都采用這一系統(tǒng)應(yīng)用于他們的智能手機(jī)中。在這里我們就先從Android Intent Filter的相關(guān)介紹中來(lái)對(duì)這一系統(tǒng)進(jìn)行一個(gè)詳盡的了解。#t#

匿名性質(zhì)的運(yùn)行時(shí)綁定使得理解Android如何解析一個(gè)隱式Intent到一個(gè)特定的應(yīng)用程序組件變得重要。

 

和你之前看到的一樣,當(dāng)使用startActivity時(shí),隱式Intent解析到一個(gè)單一的Activity。如果存在多個(gè)Activity都有能力在特定的數(shù)據(jù)上執(zhí)行給定的動(dòng)作的話(huà),Android會(huì)從這些中選擇***的進(jìn)行啟動(dòng)。

 

決定哪個(gè)Activity來(lái)運(yùn)行的過(guò)程稱(chēng)為Intent解析。Intent解析的目的是通過(guò)下面的過(guò)程找到可能匹配得***的Android Intent Filter:

 

1. Android把安裝的包中可獲得的Intent Filter放到一個(gè)列表中。

 

2. 動(dòng)作和與正在解析的Intent的種類(lèi)不關(guān)聯(lián)的Intent Filter會(huì)從列表中刪除。

 

2.1. 動(dòng)作匹配指Android Intent Filter包含特定的動(dòng)作或沒(méi)有指定的動(dòng)作。一個(gè)Intent Filter有一個(gè)或多個(gè)定義的動(dòng)作,如果沒(méi)有任何一個(gè)能與Intent指定的動(dòng)作匹配的話(huà),這個(gè)Intent Filter在算作是動(dòng)作匹配檢查失敗。

 

2.2. 種類(lèi)匹配更為嚴(yán)格。Intent Filter必須包含所有在解析的Intent中定義的種類(lèi)。一個(gè)沒(méi)有特定種類(lèi)的Intent Filter只能與沒(méi)有種類(lèi)的Intent匹配。

 

3. ***,Intent的數(shù)據(jù)URI中的部分會(huì)與Intent Filter中的data標(biāo)簽比較。如果Intent Filter定義scheme,host/authority,path或mimetype,這些值都會(huì)與Intent的URI比較。任何不匹配都會(huì)導(dǎo)致Intent Filter從列表中刪除。

 

沒(méi)有指定data值的Android Intent Filter會(huì)和所有的Intent數(shù)據(jù)匹配。

 

3.1. mimetype是正在匹配的數(shù)據(jù)的數(shù)據(jù)類(lèi)型。當(dāng)匹配數(shù)據(jù)類(lèi)型時(shí),你可以使用通配符來(lái)匹配子類(lèi)型(例如,earthquakes/*)。如果Intent Filter指定一個(gè)數(shù)據(jù)類(lèi)型,它必須與Intent匹配;沒(méi)有指定數(shù)據(jù)的話(huà)全部匹配。

 

3.2. scheme是URI部分的協(xié)議——例如,http:,mailto:,tel:。

 

3.3. host-name或“data authority”是介于URI中scheme和path之間的部分(例如,www.google.com)。匹配主機(jī)名時(shí),Intent Filter的scheme也必須通過(guò)匹配。

 

3.4. 數(shù)據(jù)path是緊接在“data authority”的后面(例如,/ig)。path只在scheme和host-name部分都匹配的情況下才匹配。

 

4. 如果這個(gè)過(guò)程中多于一個(gè)組件解析出來(lái)的話(huà),它們會(huì)以?xún)?yōu)先度來(lái)排序,可以在A(yíng)ndroid Intent Filter的節(jié)點(diǎn)里添加一個(gè)可選的標(biāo)簽。***等級(jí)的組件會(huì)返回。

 

Android本地的應(yīng)用程序組件和第三方應(yīng)用程序一樣,都是Intent解析過(guò)程中的一部分。它們沒(méi)有更高的優(yōu)先度,可以被新的Activity完全的代替,這些新的Activity宣告自己的Intent Filter能響應(yīng)相同的動(dòng)作請(qǐng)求。

責(zé)任編輯:曹凱 來(lái)源: 博客園
相關(guān)推薦

2014-07-15 10:16:02

AndroidIntent

2013-01-10 15:36:44

Android開(kāi)發(fā)組件Intent

2009-04-03 08:21:37

AndroidGoogle移動(dòng)OS

2013-01-10 14:54:48

Android開(kāi)發(fā)組件Intent

2013-05-27 14:06:14

Android開(kāi)發(fā)移動(dòng)開(kāi)發(fā)Intent機(jī)制

2010-08-18 10:13:55

IntentAndroid

2012-07-23 13:22:42

Intent Filt安全Android

2010-01-25 13:45:04

Android單選框

2010-01-25 14:25:33

Android Int

2010-01-26 09:27:47

Android列表框

2010-02-04 17:49:04

C++參數(shù)傳遞

2009-04-03 08:26:02

2013-03-28 09:07:37

Android開(kāi)發(fā)Intent機(jī)制

2010-01-25 13:29:53

Android本地應(yīng)用

2010-01-26 10:52:01

Android繪圖

2010-01-27 18:19:13

Android畫(huà)圖

2010-09-25 12:46:10

DHCP運(yùn)行方式

2010-02-07 10:40:55

Android Int

2010-01-27 14:24:28

Android界面互調(diào)

2017-03-20 16:30:15

Android退出應(yīng)用優(yōu)雅方式
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)