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

ExtensionAbility組件

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

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

當前系統已定義的ExtensionAbility類型如下表所示。

說明:
開發前請熟悉鴻蒙開發指導文檔gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md點擊或者復制轉到。

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

對于系統應用,不受下表約束,允許實現系統已定義的各類ExtensionAbility,也允許訪問提供的各類對外服務。

已支持ExtensionAbility類型功能描述是否允許三方應用實現是否允許三方應用訪問是否有獨立Extension沙箱啟動Extension傳遞共享數據是否嚴格模式訪問
[FormExtensionAbility]FORM類型的ExtensionAbility組件,用于提供[服務卡片]的相關能力。YNNN
[WorkSchedulerExtensionAbility]WORK_SCHEDULER類型的ExtensionAbility組件,用于提供[延遲任務]的相關能力。YNANN
[InputMethodExtensionAbility]INPUT_METHOD類型的ExtensionAbility組件,用于實現[輸入法應用]的開發。YYY開發者在輸入法管理中啟用完整體驗模式,即開啟非嚴格模式,可讀寫共享數據;不啟用完整體驗模式,默認為嚴格模式,只能讀取共享數據。
[AccessibilityExtensionAbility]ACCESSIBILITY類型的ExtensionAbility組件,用于實現[無障礙擴展服務]的開發。YNANN
[BackupExtensionAbility]BACKUP類型的ExtensionAbility組件,用于提供[備份及恢復應用數據]的能力。YNANN
[DriverExtensionAbility]DRIVER類型的ExtensionAbility組件,用于提供[驅動相關擴展框架]。YYNN
[EmbeddedUIExtensionAbility]EMBEDDED_UI類型的ExtensionAbility組件,用于提供[跨進程界面嵌入]的能力。YYNN HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

新文檔.png

訪問指定類型的ExtensionAbility組件

所有類型的ExtensionAbility組件均不能被應用直接啟動,而是由相應的系統管理服務拉起,以確保其生命周期受系統管控,使用時拉起,使用完銷毀。ExtensionAbility組件的調用方無需關心目標ExtensionAbility組件的生命周期。

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

圖1?使用InputMethodExtensionAbility組件?ExtensionAbility-start

實現指定類型的ExtensionAbility組件

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

卡片FormExtensionAbility實現方不用關心使用方何時去請求添加、刪除卡片,FormExtensionAbility實例及其所在的ExtensionAbility進程的整個生命周期,都是由卡片管理系統服務FormManagerService進行調度管理。?form_extension

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21879.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21879.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21879.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WPS的excel表格設置了編輯權限,要怎么取消?

在日常生活和工作中,我們經常會使用WPS Office辦公軟件來處理各種文檔,其中WPS Excel表格是我們進行數據處理和分析的重要工具。為了保護表格中的數據不被隨意修改,我們有時會設置編輯權限。然而,隨著時間的推移或需求的變更&…

基于FPGA的SystemVerilog練習

文章目錄 一、認識SystemVerilogSystemVerilog的語言特性SystemVerilog的應用領域SystemVerilog的優勢SystemVerilog的未來發展方向 二、流水燈代碼流水燈部分testbench仿真文件 三、用systemVerilog實現超聲波測距計時器測距部分led部分數碼管部分采樣部分頂層文件引腳綁定效果…

魯教版七年級數學下冊-筆記

文章目錄 第七章 二元一次方程組1 二元一次方程組2 解二元一次方程組3 二元一次方程組的應用4 二元一次方程與一次函數5 三元一次方程組 第八章 平行線的有關證明1 定義與命題2 證明的必要性3 基本事實與定理4 平行線的判定定理5 平行限的性質定理6 三角形內角和定理 第九章 概…

dpdk uio整體分析及網卡加載

參考:https://zhuanlan.zhihu.com/p/477600165 一、Linux內核知識點 1. __attribute__ constructor/destructor (1)若函數被設定為constructor屬性,則該函數會在 main()函數執行之前被自動的執行。 (2)若函數被設定為destructor屬性,則該函數會在main()函數執…

開發和滲透偷懶利器utools

目錄 1.前言 1.1 工具簡介 1.2 核心特性 1.3 使用場景 1.4 安裝與使用 1.4.1 下載: 1.4.2 安裝: 1.4.3 配置: 1.4.4 插件市場: 2.懶狗插件介紹 基本介紹 2.1 數據模擬 2.2 隨機生成虛假數據 2.3 API市場 2.4 Hoppscot…

【十二】圖解mybatis日志模塊之設計模式

圖解mybatis日志模塊之設計模式 概述 最近經常在思考研發工程師初、中、高級工程師以及系統架構師各個級別的工程師有什么區別,隨著年齡增加我們的技術級別也在提升,但是很多人到了高級別反而更加憂慮,因為it行業35歲年齡是個坎這是行業里的共…

一文讀懂數據庫中的DB、DBMS、DBS、DBAS

目前數據庫的應用非常廣泛,幾乎各行各業都在直接或間接地與數據庫打交道,例如網上購物、銀行業務、鐵路購票和酒店住宿等。在實際應用中,數據庫、數據庫管理系統、數據庫系統和數據庫應用系統經常被統稱為數據庫,而實質上這4個概念是不一樣的,它們具有不同的定義和含義。下…

暴力數據結構之排序大雜燴

1. 冒泡排序:O(N^2) 邏輯解析: 冒泡排序并沒有什么實際意義,但是有教學意義,相信大部分小白在學習的初期第一個接觸的排序就是冒泡排序。那么接下來我們了解一下他的底層邏輯: 冒泡排序顧名思義就是將最大&#xff08…

PID——調參的步驟

第一步:確定比例增益P 確定比例增益 P 時,首先去掉 PID 的積分項和微分項,一般是令 Ti0、 Td0(具體見PID 的參數設定說明),使PID 為純比例調節。 輸入設定為系統允許的最大值60%~70%,由0逐漸加…

idea項目maven下載依賴報錯

報錯: 1、Failure to find bad.robot:simple-excel:jar:1.0 in https://maven.aliyun.com/repository/public was cached in the local repository, resolution will not be reattempted until the update interval of aliyunmaven has elapsed or updates are forc…

python的while循環與for循環總結

前兩章中,我們跟著海綿寶寶的故事,掌握了 while 循環和 for 循環,這兩種不同的循環模式。while 循環和 for 循環都需要有 循環體 和 縮進,我們來復習一下它倆的語法規則: while 循環與 for 循環辨析 學到這里&#x…

Microsoft Edge TTS引擎實現文字轉語音小工具

Microsoft Edge TTS引擎實現文字轉語音小工具 ? 看了一篇文章關于使用Microsoft Edge TTS引擎進行文本轉語音的介紹。正好單位工作上經常用到音視頻的制作和轉換。但是文字變成音頻一直都是播音員口播實現。現在到了AI時代,各種功能強大的AI大模型已經應用到各個領域,大大提…

Docker鏡像導入導出

Docker鏡像導入導出 相關命令 docker export 容器id > x:/xx/xx.tar ##導出容器快照 docker import - x:/xx/xx.tar ##導入容器快照 docker save 鏡像id > x:/xx/xx.tar ##導出鏡像 docker load < x:/xx/xx.tar ##導入鏡像命令詳解 docker save …

在鯤鵬服務器搭建k8s高可用集群分享

高可用架構 本文采用kubeadm方式搭建k8s高可用集群&#xff0c;k8s高可用集群主要是對apiserver、etcd、controller-manager、scheduler做的高可用&#xff1b;高可用形式只要是為&#xff1a; 1. apiserver利用haproxykeepalived做的負載&#xff0c;多apiserver節點同時工作…

nginx反向代理了解

文章目錄 Nginx反向代理反向代理系統調優Proxy Buffer相關指令 Nginx 具有高性能的http和反向代理的web服務器&#xff0c;同時也是一個pop3/smtp/imap代理服務器&#xff0c;使用c語言編寫 **Web服務器&#xff1a;**也叫網頁服務器&#xff0c;web server&#xff0c;主要功…

易聯眾智慧云膠片平臺,助推醫學影像服務“向云端”

在門診室里,張女士焦急地告訴主治醫師,自己忘了帶CT膠片。“您別急,我用系統查詢一下。”醫生輕點幾下鼠標進入云膠片平臺,只用不到10秒就順利完成了影像調取。“不僅我可以看到,您在手機上也能隨時隨地查閱。”張女士根據提示操作,不僅能調閱自己的影像檔案,連抽血化驗結果都可…

Spring MVC 啟動流程?

在 web.xml 文件中給 Spring MVC 的 Servlet 配置了 load-on-startup&#xff0c;所以程序啟動的時候會初始化 Spring MVC&#xff0c;在 HttpServletBean 中將配置的 contextConfigLocation屬性設置到 Servlet 中&#xff0c;然后在FrameworkServlet 中創建了 WebApplicationC…

[GeoServer系列]Shapefile數據發布

【GeoServer系列】——安裝與發布shapefile數據-CSDN博客 將待發布數據放置指定目錄下 webapps\geoserver\data\data 創建存儲倉庫 新建矢量數據源 發布圖層 設置邊框 設置樣式 使用 方式1 let highRoad new Cesium.WebMapServiceImageryProvider({url: http://local…

blender從視頻中動作捕捉,綁定到人物模型

總共分為3個步驟&#xff1a; 1、從視頻中捕捉動作模型 小K動畫網-AIGC視頻動捕平臺 地址&#xff1a;https://xk.yunbovtb.com/ 需要注冊 生成的FBX文件&#xff0c;不能直接導入到blender中&#xff0c; 方法有2種&#xff1a; 第一種&#xff1a;需要轉換一下&#x…

Spring Cloud學習筆記(Nacos):Nacos持久化(未完成)

這是本人學習的總結&#xff0c;主要學習資料如下 - 馬士兵教育 1、Overview2、單機使用MySQL 1、Overview 我們關閉單機下的Nacos后&#xff0c;再重新啟動會發現之前配置的內容沒有被刪除。這時因為Nacos有內嵌的數據庫derby&#xff0c;會自己持久化。 但是在集群的情況下…