組件啟動規(guī)則(FA模型)
啟動組件是指一切啟動或連接應(yīng)用組件的行為:
- 啟動PageAbility、ServiceAbility,如使用startAbility()等相關(guān)接口。
- 連接ServiceAbility、DataAbility,如使用connectAbility()、acquireDataAbilityHelper()等相關(guān)接口。
- 開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]點擊或者復(fù)制轉(zhuǎn)到。
為了保證用戶具有更好的使用體驗,對以下幾種易影響用戶體驗與系統(tǒng)安全的行為做了限制:
- 后臺應(yīng)用任意彈框,如各種廣告彈窗,影響用戶使用。
- 后臺應(yīng)用相互喚醒,不合理的占用系統(tǒng)資源,導致系統(tǒng)功耗增加或系統(tǒng)卡頓。
- 前臺應(yīng)用任意跳轉(zhuǎn)至其他應(yīng)用,如隨意跳轉(zhuǎn)到其他應(yīng)用的支付頁面,存在安全風險。
鑒于此,系統(tǒng)制訂了一套組件啟動規(guī)則,主要包括:
- 跨應(yīng)用啟動組件,需校驗?zāi)繕私M件Visible
- 只針對跨應(yīng)用場景。
- 若目標組件visible字段配置為false,則需校驗
ohos.permission.START_INVISIBLE_ABILITY
權(quán)限(該權(quán)限僅系統(tǒng)應(yīng)用可申請)。 - [組件visible配置參考]。
- 位于后臺的應(yīng)用,啟動組件需校驗BACKGROUND權(quán)限
說明: 基于API 8或更早版本SDK開發(fā)的應(yīng)用在啟動ServiceAbility組件或DataAbility組件時不受此限制的約束。
- 應(yīng)用前后臺判斷標準:若應(yīng)用進程獲焦或所屬的UIAbility位于前臺則判定為前臺應(yīng)用,否則為后臺應(yīng)用。
- 需校驗
ohos.permission.START_ABILITIES_FROM_BACKGROUND
權(quán)限(該權(quán)限僅系統(tǒng)應(yīng)用可申請)。 - 跨應(yīng)用啟動FA模型的ServiceAbility組件或DataAbility組件,對端應(yīng)用需配置關(guān)聯(lián)啟動
- 只針對跨應(yīng)用場景。
- 只針對目標組件為ServiceAbility與DataAbility生效。
- 目標應(yīng)用的AssociateWakeUp為 true ,其提供的ServiceAbility與DataAbility才允許被其他應(yīng)用訪問。
- 只有系統(tǒng)預(yù)置應(yīng)用才允許配置AssociateWakeUp字段,其余應(yīng)用AssociateWakeUp默認為 false 。
說明:
HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
- 組件啟動管控自v3.2 Release版本開始落地。
- 與原本的啟動規(guī)則不同,新的組件啟動規(guī)則較為嚴格,開發(fā)者需熟知啟動規(guī)則,避免業(yè)務(wù)功能異常。
啟動組件的具體校驗流程見下文。
同設(shè)備組件啟動規(guī)則
設(shè)備內(nèi)啟動組件,不同場景下的規(guī)則不同,可分為如下兩種場景:
- 啟動PageAbility。
- 啟動ServiceAbility或DataAbility。
分布式跨設(shè)備組件啟動規(guī)則
跨設(shè)備啟動組件,不同場景下的規(guī)則不同,可分為如下兩種場景:
- 啟動PageAbility。
- 啟動ServiceAbility。
-
接口
+關(guān)注
關(guān)注
33文章
8612瀏覽量
151301 -
模型
+關(guān)注
關(guān)注
1文章
3254瀏覽量
48879 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2362瀏覽量
42884
發(fā)布評論請先 登錄
相關(guān)推薦
評論