ServiceAbility切換
FA模型中的ServiceAbility對應Stage模型中的ServiceExtensionAbility。Stage模型下的ServiceExtensionAbility為系統API,只有系統應用才可以創建。因此,FA模型的ServiceAbility的切換,對于系統應用和三方應用策略有所不同。下面分別介紹這兩種場景。
系統應用ServiceAbility切換
目前系統提供了ServiceExtensionAbility供系統應用使用。切換步驟和PageAbility基本一致。
- 在Stage應用中[創建ServiceExtensionAbility]。
- 將FA應用中ServiceAbility的業務代碼遷移到新創建的ServiceExtensionAbility中。 ServiceAbility和ServiceExtensionAbility生命周期對比見下表。
- 開發前請熟悉鴻蒙開發指導文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]FA的ServiceAbility Stage的ServiceExtensionAbility 對比描述 onStart(): void onCreate(want: Want): void 兩者調用時機一致,Stage模型下增加了入參want以便開發者在創建時獲取參數。 onCommand(want: Want, startId: number): void onRequest(want: Want, startId: number): void 兩者意義和調用時機一致,參數也一致。 onConnect(want: Want): rpc.RemoteObject onConnect(want: Want): rpc.RemoteObject 兩者意義和調用時機一致,參數也一致。 onDisconnect(want: Want): void onDisconnect(want: Want): void 兩者意義和調用時機一致,參數也一致。 onReconnect(want: Want): void onReconnect(want: Want): void 兩者意義和調用時機一致,參數也一致。 onStop(): void onDestroy(): void 兩者意義和調用時機一致,參數也一致。
三方應用ServiceAbility切換
Stage模型下三方應用不能對其他三方提供服務,應用可以根據具體業務選擇切換方案。
業務類型 | 切換策略 |
---|---|
對其他三方應用提供服務 | 需根據業務場景匹配到系統對應的場景化[ExtensionAbility]。 |
應用內:前臺運行時公共使用 | 可以將該組件代碼抽取成公共模塊供其他組件使用。 |
應用內:進入后臺時繼續運行 | 可以將此服務切換為[后臺任務]。 |
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
框架
+關注
關注
0文章
403瀏覽量
17504 -
組件
+關注
關注
1文章
512瀏覽量
17840 -
鴻蒙
+關注
關注
57文章
2362瀏覽量
42881
發布評論請先 登錄
相關推薦
OpenHarmony開發之Ability架構
管理,從而實現對用戶程序的調度。Ability框架在API 8及更早版本使用FA模型。FA模型中Ability分為PageAbility、Servi
發表于 05-12 15:12
HarmonyOS/OpenHarmony應用開發ServiceAbility開發體驗
,即使用戶切換到其他應用,Service仍將在后臺繼續運行。接口說明開發體驗:注冊Service示例效果:示例代碼:https://gitee.com/jltfcloudcn/jump_to/tree
發表于 12-09 10:40
鴻蒙Ability Kit(程序框架服務)【ExtensionAbility組件】
ExtensionAbility組件是基于特定場景(例如服務卡片、輸入法等)提供的應用組件,以便滿足更多的使用場景。
鴻蒙Ability Kit(程序框架服務)【應用啟動框架AppStartup】
`AppStartup`提供了一種更加簡單高效的初始化組件的方式,支持異步初始化組件加速應用的啟動時間。使用啟動框架應用開發者只需要分別為待初始化的
鴻蒙開發組件:ServiceAbility組件概述與配置
ServiceAbility,即"基于Service模板的Ability",主要用于后臺運行任務(如執行音樂播放、文件下載等),不提供用戶交互界面。ServiceAbility
鴻蒙開發Ability Kit程序框架服務:FA模型與Stage模型應用組件互通綜述
FA模型與Stage模型是兩套不同的應用模型,他們擁有各自的組件。FA模型提供三種應用組件,分別是PageAbility、ServiceAbility和DataAbility。Stage模型提供了兩種應用
鴻蒙開發Ability Kit程序框架服務:FA模型切換Stage模型指導 app和deviceConfig的切換
為了便于開發者維護應用級別的屬性配置,Stage模型將config.json中的app和deviceConfig標簽提取到了app.json5中進行配置,并對部分標簽名稱進行了修改,具體差異見下表。
鴻蒙開發Ability Kit程序框架服務:FA模型切換Stage模型指導 module的切換
從FA模型切換到Stage模型時,開發者需要將config.json文件module標簽下的配置遷移到module.json5配置文件module標簽下,具體差異見下列表格。
鴻蒙開發Ability Kit程序框架服務:PageAbility切換 組件切換
FA模型中PageAbility對應Stage模型中的UIAbility,PageAbility切換為UIAbility的方法如下。
鴻蒙開發Ability Kit程序框架服務:API切換概述 API切換
FA模型和Stage模型由于線程模型和進程模型的差異,部分接口僅在FA模型下才能使用,針對這部分接口在SDK的接口中有FAModelOnly的標記,用于提醒開發者這部分接口僅能在FA模型下
評論