ServiceAbility切換
FA模型中的ServiceAbility對應(yīng)Stage模型中的ServiceExtensionAbility。Stage模型下的ServiceExtensionAbility為系統(tǒng)API,只有系統(tǒng)應(yīng)用才可以創(chuàng)建。因此,F(xiàn)A模型的ServiceAbility的切換,對于系統(tǒng)應(yīng)用和三方應(yīng)用策略有所不同。下面分別介紹這兩種場景。
系統(tǒng)應(yīng)用ServiceAbility切換
目前系統(tǒng)提供了ServiceExtensionAbility供系統(tǒng)應(yīng)用使用。切換步驟和PageAbility基本一致。
- 在Stage應(yīng)用中[創(chuàng)建ServiceExtensionAbility]。
- 將FA應(yīng)用中ServiceAbility的業(yè)務(wù)代碼遷移到新創(chuàng)建的ServiceExtensionAbility中。 ServiceAbility和ServiceExtensionAbility生命周期對比見下表。
- 開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]FA的ServiceAbility Stage的ServiceExtensionAbility 對比描述 onStart(): void onCreate(want: Want): void 兩者調(diào)用時機一致,Stage模型下增加了入?yún)ant以便開發(fā)者在創(chuàng)建時獲取參數(shù)。 onCommand(want: Want, startId: number): void onRequest(want: Want, startId: number): void 兩者意義和調(diào)用時機一致,參數(shù)也一致。 onConnect(want: Want): rpc.RemoteObject onConnect(want: Want): rpc.RemoteObject 兩者意義和調(diào)用時機一致,參數(shù)也一致。 onDisconnect(want: Want): void onDisconnect(want: Want): void 兩者意義和調(diào)用時機一致,參數(shù)也一致。 onReconnect(want: Want): void onReconnect(want: Want): void 兩者意義和調(diào)用時機一致,參數(shù)也一致。 onStop(): void onDestroy(): void 兩者意義和調(diào)用時機一致,參數(shù)也一致。
三方應(yīng)用ServiceAbility切換
Stage模型下三方應(yīng)用不能對其他三方提供服務(wù),應(yīng)用可以根據(jù)具體業(yè)務(wù)選擇切換方案。
業(yè)務(wù)類型 | 切換策略 |
---|---|
對其他三方應(yīng)用提供服務(wù) | 需根據(jù)業(yè)務(wù)場景匹配到系統(tǒng)對應(yīng)的場景化[ExtensionAbility]。 |
應(yīng)用內(nèi):前臺運行時公共使用 | 可以將該組件代碼抽取成公共模塊供其他組件使用。 |
應(yīng)用內(nèi):進入后臺時繼續(xù)運行 | 可以將此服務(wù)切換為[后臺任務(wù)]。 |
審核編輯 黃宇
-
框架
+關(guān)注
關(guān)注
0文章
396瀏覽量
17270 -
組件
+關(guān)注
關(guān)注
1文章
495瀏覽量
17736 -
鴻蒙
+關(guān)注
關(guān)注
56文章
2267瀏覽量
42493
發(fā)布評論請先 登錄
相關(guān)推薦
評論