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

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

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

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

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-10 18:47 ? 次閱讀

組件啟動(dòng)規(guī)則(Stage模型)

啟動(dòng)組件是指一切啟動(dòng)或連接應(yīng)用組件的行為:

  • 啟動(dòng)UIAbility、ServiceExtensionAbility、DataShareExtensionAbility,如使用startAbility()、startServiceExtensionAbility()、startAbilityByCall()等相關(guān)接口。
  • 連接ServiceExtensionAbility、DataShareExtensionAbility,如使用connectServiceExtensionAbility()、createDataShareHelper()等相關(guān)接口。

組件啟動(dòng)總體規(guī)則

為了保證用戶具有更好的使用體驗(yàn),對(duì)以下幾種易影響用戶體驗(yàn)與系統(tǒng)安全的行為做了限制:

  • 后臺(tái)應(yīng)用任意彈框,如各種廣告彈窗,影響用戶使用。
  • 后臺(tái)應(yīng)用相互喚醒,不合理的占用系統(tǒng)資源,導(dǎo)致系統(tǒng)功耗增加或系統(tǒng)卡頓。
  • 前臺(tái)應(yīng)用任意跳轉(zhuǎn)至其他應(yīng)用,如隨意跳轉(zhuǎn)到其他應(yīng)用的支付頁面,存在安全風(fēng)險(xiǎn)。

鑒于此,制訂了一套組件啟動(dòng)規(guī)則,主要包括:

  • 跨應(yīng)用啟動(dòng)組件,需校驗(yàn)?zāi)繕?biāo)組件是否可以被其他應(yīng)用調(diào)用。
    若目標(biāo)組件exported字段配置為true,表示可以被其他應(yīng)用調(diào)用;若目標(biāo)組件exported字段配置為false,表示不可以被其他應(yīng)用調(diào)用,還需進(jìn)一步校驗(yàn)ohos.permission.START_INVISIBLE_ABILITY權(quán)限(該權(quán)限僅系統(tǒng)應(yīng)用可申請(qǐng))。組件exported字段說明可參考[abilities標(biāo)簽]。
  • 位于后臺(tái)的UIAbility應(yīng)用,啟動(dòng)組件需校驗(yàn)BACKGROUND權(quán)限ohos.permission.START_ABILITIES_FROM_BACKGROUND(該權(quán)限僅系統(tǒng)應(yīng)用可申請(qǐng))。

    說明:
    開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
    前后臺(tái)應(yīng)用的判斷依據(jù):若應(yīng)用進(jìn)程獲焦或所屬的UIAbility組件位于前臺(tái)則判定為前臺(tái)應(yīng)用,否則為后臺(tái)應(yīng)用。

  • 跨設(shè)備使用startAbilityByCall接口,需校驗(yàn)分布式權(quán)限ohos.permission.DISTRIBUTED_DATASYNC。

上述組件啟動(dòng)規(guī)則自API 9版本開始生效。開發(fā)者需熟知組件啟動(dòng)規(guī)則,避免業(yè)務(wù)功能異常。啟動(dòng)組件的具體校驗(yàn)流程見下文。

同設(shè)備組件啟動(dòng)規(guī)則

設(shè)備內(nèi)啟動(dòng)組件,不同場(chǎng)景下的規(guī)則不同,可分為如下三種場(chǎng)景:

  • 啟動(dòng)UIAbility。
  • 啟動(dòng)ServiceExtensionAbility、DataShareExtensionAbility。
  • 通過startAbilityByCall接口啟動(dòng)UIAbility。
  • HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

startup-rule

分布式跨設(shè)備組件啟動(dòng)規(guī)則

跨設(shè)備啟動(dòng)組件,不同場(chǎng)景下的規(guī)則不同,可分為如下三種場(chǎng)景:

  • 啟動(dòng)UIAbility。
  • 啟動(dòng)ServiceExtensionAbility、DataShareExtensionAbility。
  • 通過startAbilityByCall接口啟動(dòng)UIAbility。

component-startup-rules

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 框架
    +關(guān)注

    關(guān)注

    0

    文章

    396

    瀏覽量

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

    關(guān)注

    1

    文章

    495

    瀏覽量

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

    關(guān)注

    56

    文章

    2267

    瀏覽量

    42486
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙Ability開發(fā)-Stage模型Ability的創(chuàng)建和使用

    對(duì)Ability開發(fā)技術(shù)的簡(jiǎn)單運(yùn)用,更多的鴻蒙開發(fā)技術(shù)可以前往我主頁查詢,下面分享鴻蒙開發(fā)4.0技術(shù)分布(略縮圖): 高清完整版技術(shù)學(xué)習(xí)路線圖如下尋找保存(附鴻蒙文檔) 基于
    發(fā)表于 01-08 15:34

    HarmonyOS開發(fā)案例:【Stage模型Ability的創(chuàng)建和使用】

    基于Stage模型,對(duì)Ability的創(chuàng)建和使用進(jìn)行講解。首先在課程中我們將帶領(lǐng)大家使用DevEco Studio創(chuàng)建一個(gè)Stage模型
    的頭像 發(fā)表于 05-08 14:41 ?552次閱讀
    HarmonyOS開發(fā)案例:【<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>下<b class='flag-5'>Ability</b>的創(chuàng)建和使用】

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

    Ability Kit程序框架服務(wù))提供了應(yīng)用程序開發(fā)和運(yùn)行的應(yīng)用
    的頭像 發(fā)表于 05-29 14:41 ?435次閱讀
    <b class='flag-5'>鴻蒙</b>應(yīng)用<b class='flag-5'>模型</b>:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>】簡(jiǎn)介

    鴻蒙Ability Kit程序框架服務(wù))【UIAbility組件啟動(dòng)模式】

    UIAbility的啟動(dòng)模式是指UIAbility實(shí)例在啟動(dòng)時(shí)的不同呈現(xiàn)狀態(tài)。針對(duì)不同的業(yè)務(wù)場(chǎng)景,系統(tǒng)提供了三種啟動(dòng)模式:
    的頭像 發(fā)表于 06-06 11:05 ?486次閱讀
    <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><b class='flag-5'>啟動(dòng)</b>模式】

    鴻蒙Ability Kit程序框架服務(wù))【Ability內(nèi)頁面間的跳轉(zhuǎn)】

    基于Stage模型下的Ability開發(fā),實(shí)現(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ù))【應(yīng)用啟動(dòng)框架AppStartup】

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

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

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

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型啟動(dòng)Stage模型UIAbility

    本文介紹FA模型的三種應(yīng)用組件如何啟動(dòng)Stage模型的UIAbility組件
    的頭像 發(fā)表于 06-25 16:00 ?259次閱讀
    <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<b class='flag-5'>模型</b><b class='flag-5'>啟動(dòng)</b><b class='flag-5'>Stage</b><b class='flag-5'>模型</b>UIAbility

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

    本文介紹FA模型的三種應(yīng)用組件如何綁定Stage模型的ServiceExtensionAbility組件。
    的頭像 發(fā)表于 06-25 10:43 ?190次閱讀
    <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<b class='flag-5'>模型</b>綁定<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>ServiceExtensionAbility

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):FA模型訪問Stage模型DataShareExtensionAbility

    無論FA模型還是Stage模型,數(shù)據(jù)讀寫功能都包含客戶端和服務(wù)端兩部分。
    的頭像 發(fā)表于 06-25 14:30 ?299次閱讀
    <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<b class='flag-5'>模型</b>訪問<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>DataShareExtensionAbility

    鴻蒙開發(fā)Ability Kit程序框架服務(wù)Stage模型啟動(dòng)FA模型PageAbility

    本小節(jié)介紹Stage模型的兩種應(yīng)用組件如何啟動(dòng)FA模型的PageAbility組件。
    的頭像 發(fā)表于 06-26 09:50 ?261次閱讀
    <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>:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b><b class='flag-5'>啟動(dòng)</b>FA<b class='flag-5'>模型</b>PageAbility

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

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

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

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

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

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

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

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