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

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

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

鴻蒙開發(fā)Ability Kit程序框架服務(wù):ServiceAbility切換 組件切換

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-28 10:24 ? 次閱讀

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基本一致。

  1. 在Stage應(yīng)用中[創(chuàng)建ServiceExtensionAbility]。
  2. 將FA應(yīng)用中ServiceAbility的業(yè)務(wù)代碼遷移到新創(chuàng)建的ServiceExtensionAbility中。 ServiceAbility和ServiceExtensionAbility生命周期對比見下表。
  3. 開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
    FA的ServiceAbilityStage的ServiceExtensionAbility對比描述
    onStart(): voidonCreate(want: Want): void兩者調(diào)用時機一致,Stage模型下增加了入?yún)ant以便開發(fā)者在創(chuàng)建時獲取參數(shù)。
    onCommand(want: Want, startId: number): voidonRequest(want: Want, startId: number): void兩者意義和調(diào)用時機一致,參數(shù)也一致。
    onConnect(want: Want): rpc.RemoteObjectonConnect(want: Want): rpc.RemoteObject兩者意義和調(diào)用時機一致,參數(shù)也一致。
    onDisconnect(want: Want): voidonDisconnect(want: Want): void兩者意義和調(diào)用時機一致,參數(shù)也一致。
    onReconnect(want: Want): voidonReconnect(want: Want): void兩者意義和調(diào)用時機一致,參數(shù)也一致。
    onStop(): voidonDestroy(): void兩者意義和調(diào)用時機一致,參數(shù)也一致。

搜狗高速瀏覽器截圖20240326151344.png

三方應(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ù)]。

審核編輯 黃宇

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

    文章

    396

    瀏覽量

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

    關(guān)注

    1

    文章

    495

    瀏覽量

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

    關(guān)注

    56

    文章

    2267

    瀏覽量

    42493
收藏 人收藏

    評論

    相關(guān)推薦

    OpenHarmony開發(fā)Ability架構(gòu)

    管理,從而實現(xiàn)對用戶程序的調(diào)度。Ability框架在API 8及更早版本使用FA模型。FA模型中Ability分為PageAbility、Servi
    發(fā)表于 05-12 15:12

    HarmonyOS/OpenHarmony應(yīng)用開發(fā)ServiceAbility開發(fā)體驗

    ,即使用戶切換到其他應(yīng)用,Service仍將在后臺繼續(xù)運行。接口說明開發(fā)體驗:注冊Service示例效果:示例代碼:https://gitee.com/jltfcloudcn/jump_to/tree
    發(fā)表于 12-09 10:40

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

    Ability Kit程序框架服務(wù))提供了應(yīng)用程序開發(fā)
    的頭像 發(fā)表于 05-29 14:41 ?436次閱讀
    <b class='flag-5'>鴻蒙</b>應(yīng)用模型:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</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 ?188次閱讀
    <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 ?356次閱讀
    <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<b class='flag-5'>組件</b>】

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

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

    鴻蒙開發(fā)組件ServiceAbility組件概述與配置

    ServiceAbility,即"基于Service模板的Ability",主要用于后臺運行任務(wù)(如執(zhí)行音樂播放、文件下載等),不提供用戶交互界面。ServiceAbility
    的頭像 發(fā)表于 06-19 14:52 ?312次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>組件</b>:<b class='flag-5'>ServiceAbility</b><b class='flag-5'>組件</b>概述與配置

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

    FA模型與Stage模型是兩套不同的應(yīng)用模型,他們擁有各自的組件。FA模型提供三種應(yīng)用組件,分別是PageAbility、ServiceAbility和DataAbility。Stage模型提供了兩種應(yīng)用
    的頭像 發(fā)表于 06-24 16:43 ?337次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>:FA模型與Stage模型應(yīng)用<b class='flag-5'>組件</b>互通綜述

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):Stage模型綁定FA模型ServiceAbility

    本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何綁定FA模型ServiceAbility組件。
    的頭像 發(fā)表于 06-25 21:47 ?189次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>:Stage模型綁定FA模型<b class='flag-5'>ServiceAbility</b>

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型概述

    本文介紹如何將一個FA模型開發(fā)的聲明式范式應(yīng)用切換到Stage模型
    的頭像 發(fā)表于 06-26 14:40 ?238次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>:FA模型<b class='flag-5'>切換</b>Stage模型概述

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型指導(dǎo) app和deviceConfig的切換

    為了便于開發(fā)者維護應(yīng)用級別的屬性配置,Stage模型將config.json中的app和deviceConfig標(biāo)簽提取到了app.json5中進行配置,并對部分標(biāo)簽名稱進行了修改,具體差異見下表。
    的頭像 發(fā)表于 06-27 10:01 ?241次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>:FA模型<b class='flag-5'>切換</b>Stage模型指導(dǎo) app和deviceConfig的<b class='flag-5'>切換</b>

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型指導(dǎo) module的切換

    從FA模型切換到Stage模型時,開發(fā)者需要將config.json文件module標(biāo)簽下的配置遷移到module.json5配置文件module標(biāo)簽下,具體差異見下列表格。
    的頭像 發(fā)表于 06-27 14:16 ?294次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>:FA模型<b class='flag-5'>切換</b>Stage模型指導(dǎo) module的<b class='flag-5'>切換</b>

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):PageAbility切換 組件切換

    FA模型中PageAbility對應(yīng)Stage模型中的UIAbility,PageAbility切換為UIAbility的方法如下。
    的頭像 發(fā)表于 06-28 11:38 ?249次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>:PageAbility<b class='flag-5'>切換</b> <b class='flag-5'>組件</b><b class='flag-5'>切換</b>

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):DataAbility切換 組件切換

    FA模型中的DataAbility對應(yīng)Stage模型中的DataShareExtensionAbility。
    的頭像 發(fā)表于 06-28 14:08 ?143次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>:DataAbility<b class='flag-5'>切換</b> <b class='flag-5'>組件</b><b class='flag-5'>切換</b>

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):API切換概述 API切換

    FA模型和Stage模型由于線程模型和進程模型的差異,部分接口僅在FA模型下才能使用,針對這部分接口在SDK的接口中有FAModelOnly的標(biāo)記,用于提醒開發(fā)者這部分接口僅能在FA模型下
    的頭像 發(fā)表于 06-28 16:23 ?235次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>:API<b class='flag-5'>切換</b>概述 API<b class='flag-5'>切換</b>