那曲檬骨新材料有限公司

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

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

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

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

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-04 15:54 ? 次閱讀

ExtensionAbility組件

ExtensionAbility組件是基于特定場景(例如服務(wù)卡片、輸入法等)提供的應(yīng)用組件,以便滿足更多的使用場景。

每一個具體場景對應(yīng)一個[ExtensionAbilityType],開發(fā)者只能使用(包括實現(xiàn)和訪問)系統(tǒng)已定義的類型。各類型的ExtensionAbility組件均由相應(yīng)的系統(tǒng)服務(wù)統(tǒng)一管理,例如InputMethodExtensionAbility組件由輸入法管理服務(wù)統(tǒng)一管理。

當(dāng)前系統(tǒng)已定義的ExtensionAbility類型如下表所示。

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

  • “是否允許三方應(yīng)用實現(xiàn)”是指:對于一類ExtensionAbility,三方應(yīng)用能否繼承該ExtensionAbility父類實現(xiàn)自己的業(yè)務(wù)邏輯。
  • “是否允許三方應(yīng)用訪問”是指:有些ExtensionAbility會對外提供一些服務(wù),這些ExtensionAbility可能允許三方訪問,也可能不允許。“Y”表示允許,“N”表示不允許,“NA”表示不涉及對外服務(wù)。
  • “是否有獨立Extension沙箱”是指:已經(jīng)開發(fā)Extension都是和主應(yīng)用共沙箱運行,API12及其之后新增Extension默認獨立沙箱運行,輸入法Extesnion由于安全機制管控改為獨立沙箱運行。
  • “啟動Extension傳遞共享數(shù)據(jù)是否嚴格模式訪問”是指:共享數(shù)據(jù)可通過配置應(yīng)用的[data-group-ids]和ExtensionAbility的[dataGroupIds]實現(xiàn)。嚴格模式訪問表示只讀,非嚴格模式訪問表示可以讀寫。“Y”表示嚴格模式訪問共享數(shù)據(jù),即只能讀取共享數(shù)據(jù),“N”表示非嚴格模式訪問共享數(shù)據(jù),即可以讀寫共享數(shù)據(jù)。

對于系統(tǒng)應(yīng)用,不受下表約束,允許實現(xiàn)系統(tǒng)已定義的各類ExtensionAbility,也允許訪問提供的各類對外服務(wù)。

已支持ExtensionAbility類型功能描述是否允許三方應(yīng)用實現(xiàn)是否允許三方應(yīng)用訪問是否有獨立Extension沙箱啟動Extension傳遞共享數(shù)據(jù)是否嚴格模式訪問
[FormExtensionAbility]FORM類型的ExtensionAbility組件,用于提供[服務(wù)卡片]的相關(guān)能力。YNNN
[WorkSchedulerExtensionAbility]WORK_SCHEDULER類型的ExtensionAbility組件,用于提供[延遲任務(wù)]的相關(guān)能力。YNANN
[InputMethodExtensionAbility]INPUT_METHOD類型的ExtensionAbility組件,用于實現(xiàn)[輸入法應(yīng)用]的開發(fā)。YYY開發(fā)者在輸入法管理中啟用完整體驗?zāi)J剑撮_啟非嚴格模式,可讀寫共享數(shù)據(jù);不啟用完整體驗?zāi)J剑J為嚴格模式,只能讀取共享數(shù)據(jù)。
[AccessibilityExtensionAbility]ACCESSIBILITY類型的ExtensionAbility組件,用于實現(xiàn)[無障礙擴展服務(wù)]的開發(fā)。YNANN
[BackupExtensionAbility]BACKUP類型的ExtensionAbility組件,用于提供[備份及恢復(fù)應(yīng)用數(shù)據(jù)]的能力。YNANN
[DriverExtensionAbility]DRIVER類型的ExtensionAbility組件,用于提供[驅(qū)動相關(guān)擴展框架]。YYNN
[EmbeddedUIExtensionAbility]EMBEDDED_UI類型的ExtensionAbility組件,用于提供[跨進程界面嵌入]的能力。YYNNHarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

新文檔.png

訪問指定類型的ExtensionAbility組件

所有類型的ExtensionAbility組件均不能被應(yīng)用直接啟動,而是由相應(yīng)的系統(tǒng)管理服務(wù)拉起,以確保其生命周期受系統(tǒng)管控,使用時拉起,使用完銷毀。ExtensionAbility組件的調(diào)用方無需關(guān)心目標(biāo)ExtensionAbility組件的生命周期。

以[InputMethodExtensionAbility]組件為例進行說明,如下圖所示,調(diào)用方應(yīng)用發(fā)起對InputMethodExtensionAbility組件的調(diào)用,此時將先調(diào)用輸入法管理服務(wù),由輸入法管理服務(wù)拉起[InputMethodExtensionAbility]組件,返回給調(diào)用方,同時開始管理其生命周期。

圖1 使用InputMethodExtensionAbility組件 ExtensionAbility-start

實現(xiàn)指定類型的ExtensionAbility組件

以實現(xiàn)卡片[FormExtensionAbility]為例進行說明。卡片框架提供了[FormExtensionAbility]基類,開發(fā)者通過派生此基類(如MyFormExtensionAbility),實現(xiàn)回調(diào)(如創(chuàng)建卡片的onCreate()回調(diào)、更新卡片的onUpdateForm()回調(diào)等)來實現(xiàn)具體卡片功能,具體見開發(fā)指導(dǎo)見[服務(wù)卡片]。

卡片F(xiàn)ormExtensionAbility實現(xiàn)方不用關(guān)心使用方何時去請求添加、刪除卡片,F(xiàn)ormExtensionAbility實例及其所在的ExtensionAbility進程的整個生命周期,都是由卡片管理系統(tǒng)服務(wù)FormManagerService進行調(diào)度管理。 form_extension

說明: 同一應(yīng)用內(nèi)的所有同類型的ExtensionAbility運行在同一獨立進程(除ServiceExtensionAbility、DataShareExtensionAbility外),跟UIAbility組件不在同一進程,Stage模型的進程模型請參見[進程模型]。

審核編輯 黃宇

聲明:本文內(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

    文章

    403

    瀏覽量

    17543
  • 組件
    +關(guān)注

    關(guān)注

    1

    文章

    518

    瀏覽量

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

    關(guān)注

    57

    文章

    2392

    瀏覽量

    43055
收藏 人收藏

    評論

    相關(guān)推薦

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

    [ServiceExtensionAbility]是SERVICE類型的ExtensionAbility組件,提供后臺服務(wù)能力,其內(nèi)部持有了一個[ServiceExtensionContext],通過[ServiceExtens
    的頭像 發(fā)表于 06-04 14:50 ?1281次閱讀
    <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的頁面中通過
    的頭像 發(fā)表于 06-05 09:19 ?1485次閱讀
    <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】

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

    Ability Kit程序框架服務(wù))提供了應(yīng)用程序開發(fā)和運行的應(yīng)用模型,是系統(tǒng)為開發(fā)者提供的應(yīng)
    的頭像 發(fā)表于 05-29 14:41 ?714次閱讀
    <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 ?485次閱讀
    <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ù))【UIAbility組件啟動模式】

    UIAbility的啟動模式是指UIAbility實例在啟動時的不同呈現(xiàn)狀態(tài)。針對不同的業(yè)務(wù)場景,系統(tǒng)提供了三種啟動模式:
    的頭像 發(fā)表于 06-06 11:05 ?912次閱讀
    <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ù))【UIAbility組件基本用法】

    UIAbility組件的基本用法包括:指定UIAbility的啟動頁面以及獲取UIAbility的上下文[UIAbilityContext]。
    的頭像 發(fā)表于 06-06 11:02 ?556次閱讀
    <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 ?339次閱讀
    <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ù))【Ability與ServiceExtensionAbility通信】

    本示例展示通過[IDL的方式]和?[@ohos.rpc]?等接口實現(xiàn)了Ability與ServiceExtensionAbility之間的通信。
    的頭像 發(fā)表于 06-05 09:28 ?535次閱讀
    <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ù))【AbilityStage組件容器】

    AbilityStage是一個[Module]級別的組件容器,應(yīng)用的HAP在首次加載時會創(chuàng)建一個AbilityStage實例,可以對該Module進行初始化等操作。
    的頭像 發(fā)表于 06-05 14:15 ?460次閱讀
    <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>)【AbilityStage<b class='flag-5'>組件</b>容器】

    鴻蒙Ability Kit程序框架服務(wù))【應(yīng)用上下文Context】

    (文件分區(qū))等,以及應(yīng)用的一些基本方法,例如createBundleContext()、getApplicationContext()等。UIAbility組件和各種ExtensionAbility
    的頭像 發(fā)表于 06-06 09:22 ?562次閱讀
    <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)用上下文Context】

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

    [Want]是一種對象,用于在應(yīng)用組件之間傳遞信息。
    的頭像 發(fā)表于 06-06 09:16 ?588次閱讀
    <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>)【W(wǎng)ant概述】

    鴻蒙Ability Kit程序框架服務(wù))【組件啟動規(guī)則(Stage模型)】

    組件啟動規(guī)則(Stage模型) 啟動組件是指一切啟動或連接應(yīng)用組件的行為: 啟動UIAbility、ServiceExtensionAbility、DataShareExtensionAbility
    的頭像 發(fā)表于 06-10 18:47 ?992次閱讀
    <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'>組件</b>啟動規(guī)則(Stage模型)】

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

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

    鴻蒙開發(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 ?516次閱讀
    <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ù)管理

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型與Stage模型應(yīng)用組件互通綜述

    FA模型與Stage模型是兩套不同的應(yīng)用模型,他們擁有各自的組件。FA模型提供三種應(yīng)用組件,分別是PageAbility、ServiceAbility和DataAbility。Stage模型提供了兩種應(yīng)用組件,分別是UIAbil
    的頭像 發(fā)表于 06-24 16:43 ?581次閱讀
    <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>:FA模型與Stage模型應(yīng)用<b class='flag-5'>組件</b>互通綜述
    百家乐官网百家乐官网视频| 易发娱乐城| 大发888现金存款| 德州扑克明星| 沈丘县| 百家乐官网有作弊的吗| 百家乐官网记算| 2024年九运的房屋风水吉凶| 百家乐游戏全讯网2| 五星百家乐的玩法技巧和规则| 大发888注册送50| 专栏| 网上百家乐官网打牌| 百家乐有没有攻略| 威尼斯人娱乐城代理加盟| 战神线上娱乐| 网上百家乐官网导航| 百家乐路纸发表区| 威尼斯人娱乐平台代理| 壹贰博网站| 百家乐官网学院| 百家乐网上最好网站| 威尼斯人娱乐城游戏平台| 朝阳市| 网络百家乐官网模拟投注| 百家乐二号博彩正网| 大发888百科| 利辛县| 免费百家乐官网追号软件| 鸟巢百家乐的玩法技巧和规则| 线上娱乐城| 利都百家乐官网国际娱乐场开户注册| 百家乐椅子| 在线博弈游戏| 澳门博彩网站| 百家乐官网旺门打法| 博之道百家乐技巧| 金赞娱乐成| 金龍百家乐官网的玩法技巧和规则| 巴特百家乐的玩法技巧和规则| 灵武市|