0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙Ability Kit(程序框架服務(wù))【W(wǎng)ant概述】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-06 09:16 ? 次閱讀

Want概述

Want的定義與用途

[Want]是一種對象,用于在應(yīng)用組件之間傳遞信息。

其中,一種常見的使用場景是作為[startAbility()]方法的參數(shù)。例如,當(dāng)UIAbilityA需要啟動UIAbilityB并向UIAbilityB傳遞一些數(shù)據(jù)時,可以使用Want作為一個載體,將數(shù)據(jù)傳遞給UIAbilityB。

圖1 Want用法示意
usage-of-want

Want的類型

  • 顯式Want :在啟動目標(biāo)應(yīng)用組件時,調(diào)用方傳入的want參數(shù)中指定了abilityName和bundleName,稱為顯式Want。
    顯式Want通常用于在當(dāng)前應(yīng)用中啟動已知的目標(biāo)應(yīng)用組件,通過提供目標(biāo)應(yīng)用組件所在應(yīng)用的Bundle名稱信息(bundleName)并在Want對象內(nèi)指定abilityName來啟動目標(biāo)應(yīng)用組件。當(dāng)有明確處理請求的對象時,顯式Want是一種簡單有效的啟動目標(biāo)應(yīng)用組件的方式。
import Want from '@ohos.app.ability.Want';

let wantInfo: Want = {
  deviceId: '', // deviceId為空表示本設(shè)備
  bundleName: 'com.example.myapplication',
  abilityName: 'FuncAbility',
}
  • 隱式Want :在啟動目標(biāo)應(yīng)用組件時,調(diào)用方傳入的want參數(shù)中未指定abilityName,稱為隱式Want。
    當(dāng)需要處理的對象不明確時,可以使用隱式Want,在當(dāng)前應(yīng)用中使用其他應(yīng)用提供的某個能力,而不關(guān)心提供該能力的具體應(yīng)用。隱式Want使用[skills標(biāo)簽]來定義需要使用的能力,并由系統(tǒng)匹配聲明支持該請求的所有應(yīng)用來處理請求。例如,需要打開一個鏈接的請求,系統(tǒng)將匹配所有聲明支持該請求的應(yīng)用,然后讓用戶選擇使用哪個應(yīng)用打開鏈接。

    import Want from '@ohos.app.ability.Want';
    
    let wantInfo: Want = {
      // 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',
    };
    

    新文檔.png

    說明:
    開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

    • 根據(jù)系統(tǒng)中待匹配應(yīng)用組件的匹配情況不同,使用隱式Want啟動應(yīng)用組件時會出現(xiàn)以下三種情況。
      • 未匹配到滿足條件的應(yīng)用組件:啟動失敗。
      • 匹配到一個滿足條件的應(yīng)用組件:直接啟動該應(yīng)用組件。
      • 匹配到多個滿足條件的應(yīng)用組件(UIAbility):彈出選擇框讓用戶選擇。
    • 對于啟動ServiceExtensionAbility的場景:
      • 調(diào)用方傳入的want參數(shù)中帶有abilityName,則不允許通過隱式Want啟動ServiceExtensionAbility。
      • 調(diào)用方傳入的want參數(shù)中帶有bundleName,則允許使用startServiceExtensionAbility()方法隱式Want啟動ServiceExtensionAbility,默認(rèn)返回優(yōu)先級最高的ServiceExtensionAbility,如果優(yōu)先級相同,返回第一個。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 框架
    +關(guān)注

    關(guān)注

    0

    文章

    398

    瀏覽量

    17404
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2302

    瀏覽量

    42689
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙開發(fā)接口Ability框架:【@ohos.application.Ability (Ability)】

    Ability模塊提供對Ability生命周期、上下文環(huán)境等調(diào)用管理的能力,包括Ability創(chuàng)建、銷毀、轉(zhuǎn)儲客戶端信息等。
    的頭像 發(fā)表于 04-30 17:42 ?2184次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【@ohos.application.<b class='flag-5'>Ability</b> (<b class='flag-5'>Ability</b>)】

    鴻蒙Ability Kit程序框架服務(wù))【ServiceExtensionAbility】

    [ServiceExtensionAbility]是SERVICE類型的ExtensionAbility組件,提供后臺服務(wù)能力,其內(nèi)部持有了一個[ServiceExtensionContext],通過[ServiceExtensionContext]提供了豐富的接口供外部使用。
    的頭像 發(fā)表于 06-04 14:50 ?1081次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【ServiceExtensionAbility】

    鴻蒙Ability Kit程序框架服務(wù))【UIExtensionAbility】

    [UIExtensionAbility]是UI類型的ExtensionAbility組件,需要與[UIExtensionComponent]一起配合使用,開發(fā)者可以在UIAbility的頁面中通過UIExtensionComponent嵌入提供方應(yīng)用的UIExtensionAbility提供的UI。UIExtensionAbility會在獨立于UIAbility的進程中運行,完成其頁面的布局和渲染。常用于有進程隔離訴求的系統(tǒng)彈窗、狀態(tài)欄、膠囊等模塊化開發(fā)的場景。
    的頭像 發(fā)表于 06-05 09:19 ?1256次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【UIExtensionAbility】

    鴻蒙Ability開發(fā)-Stage模型下Ability的創(chuàng)建和使用

    函數(shù) HiLog日志系統(tǒng)可以讓應(yīng)用按照指定類型、指定級別、指定格式字符串打印日志內(nèi)容,幫助開發(fā)者了解應(yīng)用/服務(wù)的運行狀態(tài),更好地調(diào)試程序。 HiLog提供了debug、info、warn、error以及fatal
    發(fā)表于 01-08 15:34

    HarmonyOS NEXT應(yīng)用元服務(wù)開發(fā)Intents Kit(意圖框架服務(wù))本地搜索方案概述

    一、概述 本地搜索是在HarmonyOS歸一化搜索特性,開發(fā)者將應(yīng)用/元服務(wù)內(nèi)的功能和內(nèi)容通過意圖框架共享到HarmonyOS,即可實現(xiàn)“一步搜索,內(nèi)容直達(dá)”。 二、典型場景 以“音樂垂域”的“歌曲
    發(fā)表于 11-06 10:59

    鴻蒙開發(fā)接口Ability框架:【@ohos.application.Want (Want)】

    Want模塊提供系統(tǒng)的基本通信組件的能力。
    的頭像 發(fā)表于 05-11 09:39 ?370次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【@ohos.application.<b class='flag-5'>Want</b> (<b class='flag-5'>Want</b>)】

    鴻蒙應(yīng)用模型:【Ability Kit】簡介

    Ability Kit程序框架服務(wù))提供了應(yīng)用程序開發(fā)和運行的應(yīng)用模型,是系統(tǒng)為開發(fā)者提供的應(yīng)
    的頭像 發(fā)表于 05-29 14:41 ?555次閱讀
    <b class='flag-5'>鴻蒙</b>應(yīng)用模型:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>】簡介

    鴻蒙Ability Kit程序框架服務(wù))【UIAbility組件概述

    UIAbility組件是一種包含UI的應(yīng)用組件,主要用于和用戶交互。
    的頭像 發(fā)表于 05-30 20:17 ?384次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【UIAbility組件<b class='flag-5'>概述</b>】

    鴻蒙Ability Kit程序框架服務(wù))【Ability內(nèi)頁面間的跳轉(zhuǎn)】

    基于Stage模型下的Ability開發(fā),實現(xiàn)Ability內(nèi)頁面間的跳轉(zhuǎn)和數(shù)據(jù)傳遞。
    的頭像 發(fā)表于 06-03 20:43 ?257次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【<b class='flag-5'>Ability</b>內(nèi)頁面間的跳轉(zhuǎn)】

    鴻蒙Ability Kit程序框架服務(wù))【ExtensionAbility組件】

    ExtensionAbility組件是基于特定場景(例如服務(wù)卡片、輸入法等)提供的應(yīng)用組件,以便滿足更多的使用場景。
    的頭像 發(fā)表于 06-04 15:54 ?461次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【ExtensionAbility組件】

    鴻蒙Ability Kit程序框架服務(wù))【Ability與ServiceExtensionAbility通信】

    本示例展示通過[IDL的方式]和?[@ohos.rpc]?等接口實現(xiàn)了Ability與ServiceExtensionAbility之間的通信。
    的頭像 發(fā)表于 06-05 09:28 ?435次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【<b class='flag-5'>Ability</b>與ServiceExtensionAbility通信】

    鴻蒙Ability Kit程序框架服務(wù))【顯式Want與隱式Want匹配規(guī)則】

    在啟動目標(biāo)應(yīng)用組件時,會通過顯式[Want]或者隱式[Want]進行目標(biāo)應(yīng)用組件的匹配,這里說的匹配規(guī)則就是調(diào)用方傳入的[want]參數(shù)中設(shè)置的參數(shù)如何與目標(biāo)應(yīng)用組件聲明的配置文件進行匹配。
    的頭像 發(fā)表于 06-06 14:30 ?415次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【顯式<b class='flag-5'>Want</b>與隱式<b class='flag-5'>Want</b>匹配規(guī)則】

    鴻蒙Ability Kit程序框架服務(wù))【應(yīng)用間使用Want分享數(shù)據(jù)】

    在應(yīng)用使用場景中,用戶經(jīng)常需要將應(yīng)用內(nèi)的數(shù)據(jù)(如文字、圖片等)分享至其他應(yīng)用以供進一步處理。Want支持實現(xiàn)應(yīng)用間的數(shù)據(jù)分享。
    的頭像 發(fā)表于 06-07 15:19 ?316次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>)【應(yīng)用間使用<b class='flag-5'>Want</b>分享數(shù)據(jù)】

    鴻蒙Ability Kit程序框架服務(wù))【應(yīng)用啟動框架AppStartup】

    `AppStartup`提供了一種更加簡單高效的初始化組件的方式,支持異步初始化組件加速應(yīng)用的啟動時間。使用啟動框架應(yīng)用開發(fā)者只需要分別為待初始化的組件實現(xiàn)`AppStartup`提供
    的頭像 發(fā)表于 06-10 18:38 ?652次閱讀

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):任務(wù)管理

    AbilityRecord:系統(tǒng)服務(wù)側(cè)管理一個UIAbility實例的最小單元,對應(yīng)一個應(yīng)用側(cè)的UIAbility組件實例。系統(tǒng)服務(wù)側(cè)管理UIAbility實例數(shù)量上限為512個。
    的頭像 發(fā)表于 06-24 14:46 ?377次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務(wù)</b>:任務(wù)管理