組件啟動(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)用的支付頁(yè)面,存在安全風(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字段說(shuō)明可參考[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))。說(shuō)明:
開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(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版本開(kāi)始生效。開(kāi)發(fā)者需熟知組件啟動(dòng)規(guī)則,避免業(yè)務(wù)功能異常。啟動(dòng)組件的具體校驗(yàn)流程見(jiàn)下文。
同設(shè)備組件啟動(dòng)規(guī)則
設(shè)備內(nèi)啟動(dòng)組件,不同場(chǎng)景下的規(guī)則不同,可分為如下三種場(chǎng)景:
- 啟動(dòng)UIAbility。
- 啟動(dòng)ServiceExtensionAbility、DataShareExtensionAbility。
- 通過(guò)startAbilityByCall接口啟動(dòng)UIAbility。
HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
分布式跨設(shè)備組件啟動(dòng)規(guī)則
跨設(shè)備啟動(dòng)組件,不同場(chǎng)景下的規(guī)則不同,可分為如下三種場(chǎng)景:
- 啟動(dòng)UIAbility。
- 啟動(dòng)ServiceExtensionAbility、DataShareExtensionAbility。
- 通過(guò)startAbilityByCall接口啟動(dòng)UIAbility。
審核編輯 黃宇
-
框架
+關(guān)注
關(guān)注
0文章
403瀏覽量
17553 -
組件
+關(guān)注
關(guān)注
1文章
518瀏覽量
17936 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2393瀏覽量
43084
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
鴻蒙Ability開(kāi)發(fā)-Stage模型下Ability的創(chuàng)建和使用
HarmonyOS開(kāi)發(fā)案例:【Stage模型下Ability的創(chuàng)建和使用】
![HarmonyOS開(kāi)發(fā)案例:【<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>下<b class='flag-5'>Ability</b>的創(chuàng)建和使用】](https://file1.elecfans.com/web2/M00/E3/04/wKgaomY7G9CAEKP7AEsKNX-_Rjg203.jpg)
鴻蒙Ability Kit(程序框架服務(wù))【UIAbility組件啟動(dòng)模式】
![<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>模式】](https://file1.elecfans.com/web2/M00/EB/9D/wKgaomZZxTSANfBpAGBNtLqJkcU253.jpg)
鴻蒙Ability Kit(程序框架服務(wù))【Ability內(nèi)頁(yè)面間的跳轉(zhuǎn)】
![<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)頁(yè)面間的跳轉(zhuǎn)】](https://file1.elecfans.com/web2/M00/E3/5B/wKgaomY7dICAanabAG9fQxOwEh0579.jpg)
鴻蒙Ability Kit(程序框架服務(wù))【應(yīng)用啟動(dòng)框架AppStartup】
鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):FA模型與Stage模型應(yīng)用組件互通綜述
![<b class='flag-5'>鴻蒙</b>開(kāi)發(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>互通綜述](https://file1.elecfans.com/web2/M00/F2/5C/wKgZomZ5J5OAKymYAAQbWDMAR2M322.jpg)
鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):FA模型啟動(dòng)Stage模型UIAbility
![<b class='flag-5'>鴻蒙</b>開(kāi)發(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](https://file1.elecfans.com/web2/M00/C6/E9/wKgaomYEK1aAOyTeAADysXFhWs8242.png)
鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):FA模型綁定Stage模型ServiceExtensionAbility
![<b class='flag-5'>鴻蒙</b>開(kāi)發(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](https://file1.elecfans.com/web2/M00/C5/D5/wKgZomYCnRSAcOMcAACEEnttXHc600.png)
鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):FA模型訪問(wèn)Stage模型DataShareExtensionAbility
![<b class='flag-5'>鴻蒙</b>開(kāi)發(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>訪問(wèn)<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>DataShareExtensionAbility](https://file1.elecfans.com/web2/M00/F2/CD/wKgZomZ6Y3-AKHqkAAC98f61kj0358.jpg)
鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):Stage模型啟動(dòng)FA模型PageAbility
![<b class='flag-5'>鴻蒙</b>開(kāi)發(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](https://file1.elecfans.com/web2/M00/EB/93/wKgZomZeuXuAfmJRAADrojiVvnQ389.png)
鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):Stage模型綁定FA模型ServiceAbility
![<b class='flag-5'>鴻蒙</b>開(kāi)發(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](https://file1.elecfans.com/web2/M00/C6/E9/wKgaomYEK1aAOyTeAADysXFhWs8242.png)
鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型概述
![<b class='flag-5'>鴻蒙</b>開(kāi)發(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>概述](https://file1.elecfans.com/web2/M00/F3/F3/wKgaomZ7tpOAIGLgAAEkAf3qz4M395.jpg)
鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型指導(dǎo) app和deviceConfig的切換
![<b class='flag-5'>鴻蒙</b>開(kāi)發(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的切換](https://file1.elecfans.com/web2/M00/C5/D5/wKgZomYCnRSAcOMcAACEEnttXHc600.png)
鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):FA模型切換Stage模型指導(dǎo) module的切換
![<b class='flag-5'>鴻蒙</b>開(kāi)發(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的切換](https://file1.elecfans.com/web2/M00/C5/D5/wKgZomYCnRSAcOMcAACEEnttXHc600.png)
評(píng)論