W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Want是對象間信息傳遞的載體,可以用于應(yīng)用組件間的信息傳遞。其使用場景之一是作為startAbility()的參數(shù),包含了指定的啟動目標(biāo)以及啟動時需攜帶的相關(guān)數(shù)據(jù),如bundleName和abilityName字段分別指明目標(biāo)Ability所在應(yīng)用的包名以及對應(yīng)包內(nèi)的Ability名稱。當(dāng)UIAbilityA啟動UIAbilityB并需要傳入一些數(shù)據(jù)給UIAbilityB時,Want可以作為一個載體將數(shù)據(jù)傳給UIAbilityB。
圖1 Want用法示意
顯式Want:在啟動Ability時指定了abilityName和bundleName的Want稱為顯式Want。
當(dāng)有明確處理請求的對象時,通過提供目標(biāo)Ability所在應(yīng)用的包名信息(bundleName),并在Want內(nèi)指定abilityName便可啟動目標(biāo)Ability。顯式Want通常用于在當(dāng)前應(yīng)用開發(fā)中啟動某個已知的Ability。參數(shù)說明參見Want參數(shù)說明。
- let wantInfo = {
- deviceId: '', // deviceId為空表示本設(shè)備
- bundleName: 'com.example.myapplication',
- abilityName: 'FuncAbility',
- }
隱式Want:在啟動UIAbility時未指定abilityName的Want稱為隱式Want。
當(dāng)請求處理的對象不明確時,希望在當(dāng)前應(yīng)用中使用其他應(yīng)用提供的某個能力(通過skills標(biāo)簽定義),而不關(guān)心提供該能力的具體應(yīng)用,可以使用隱式Want。例如使用隱式Want描述需要打開一個鏈接的請求,而不關(guān)心通過具體哪個應(yīng)用打開,系統(tǒng)將匹配聲明支持該請求的所有應(yīng)用。
- let wantInfo = {
- // uncomment line below if wish to implicitly query only in the specific bundle.
- // bundleName: 'com.example.myapplication',
- action: 'ohos.want.action.search',
- // entities can be omitted
- entities: [ 'entity.system.browsable' ],
- uri: 'https://www.test.com:8080/query/student',
- type: 'text/plain',
- };
名稱 | 讀寫屬性 | 類型 | 必填 | 描述 |
---|---|---|---|---|
deviceId | 只讀 | string | 否 | 表示目標(biāo)Ability所在設(shè)備ID。如果未設(shè)置該字段,則表明本設(shè)備。 |
bundleName | 只讀 | string | 否 | 表示目標(biāo)Ability所在應(yīng)用名稱。 |
moduleName | 只讀 | string | 否 | 表示目標(biāo)Ability所屬的模塊名稱。 |
abilityName | 只讀 | string | 否 | 表示目標(biāo)Ability名稱。如果未設(shè)置該字段,則該Want為隱式。如果在Want中同時指定了bundleName,moduleName和abilityName,則Want可以直接匹配到指定的Ability。 |
uri | 只讀 | string | 否 | 表示攜帶的數(shù)據(jù),一般配合type使用,指明待處理的數(shù)據(jù)類型。如果在Want中指定了uri,則Want將匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。 |
type | 只讀 | string | 否 | 表示攜帶數(shù)據(jù)類型,使用MIME類型規(guī)范。例如:"text/plain"、"image/*"等。 |
只讀 | string | 否 | 表示要執(zhí)行的通用操作(如:查看、分享、應(yīng)用詳情)。在隱式Want中,您可定義該字段,配合uri或parameters來表示對數(shù)據(jù)要執(zhí)行的操作。如打開,查看該uri數(shù)據(jù)。例如,當(dāng)uri為一段網(wǎng)址,action為ohos.want.action.viewData則表示匹配可查看該網(wǎng)址的Ability。 | |
只讀 | Array<string> | 否 | 表示目標(biāo)Ability額外的類別信息(如:瀏覽器,視頻播放器),在隱式Want中是對action的補充。在隱式Want中,您可定義該字段,來過濾匹配UIAbility類別,如必須是瀏覽器。例如,在action字段的舉例中,可存在多個應(yīng)用聲明了支持查看網(wǎng)址的操作,其中有應(yīng)用為普通社交應(yīng)用,有的為瀏覽器應(yīng)用,您可通過entity.system.browsable過濾掉非瀏覽器的其他應(yīng)用。 | |
只讀 | number | 否 | 表示處理Want的方式。例如通過wantConstant.Flags.FLAG_ABILITY_CONTINUATION表示是否以設(shè)備間遷移方式啟動Ability。 | |
parameters | 只讀 | {[key: string]: any} | 否 | 此參數(shù)用于傳遞自定義數(shù)據(jù),通過用戶自定義的鍵值對進行數(shù)據(jù)填充,具體支持的數(shù)據(jù)類型如Want API所示。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: