组件启动规则
======

启动组件是指一切启动或连接应用组件的行为：

*   启动[UIAbility](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-app-ability-uiability)、DataShareExtensionAbility，如使用[startAbility()](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#startability)、[startAbilityByCall()](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#startabilitybycall)、[openLink()](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#openlink12)等相关接口。
    
*   连接ServiceExtensionAbility、DataShareExtensionAbility，如使用[connectServiceExtensionAbility()](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#connectserviceextensionability)、createDataShareHelper()等相关接口。
    

#### 组件启动总体规则

为了保证用户具有更好的使用体验，对以下几种易影响用户体验与系统安全的行为做了限制：

*   后台应用任意弹框，如各种广告弹窗，影响用户使用。
    
*   后台应用相互唤醒，不合理的占用系统资源，导致系统功耗增加或系统卡顿。
    
*   前台应用任意跳转至其他应用，如随意跳转到其他应用的支付页面，存在安全风险。
    

鉴于此，制定了一套组件启动规则，主要包括：

*   **跨应用启动组件，需校验目标组件是否可以被其他应用调用。**
    
    若目标组件exported字段配置为true，表示可以被其他应用调用；若目标组件exported字段配置为false，表示不可以被其他应用调用，还需进一步校验ohos.permission.START\_INVISIBLE\_ABILITY权限（该权限仅系统应用可申请）。组件exported字段说明可参考[abilities标签](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/module-configuration-file#abilities标签)。
    
*   **位于后台的UIAbility应用，启动组件需校验BACKGROUND权限ohos.permission.START\_ABILITIES\_FROM\_BACKGROUND（该权限仅系统应用可申请）。**
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/3c/v3/nVmWLlBbQhOdH3hWG9L1DQ/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073233Z&HW-CC-Expire=86400&HW-CC-Sign=2E7AE1A9408381BACECC636992C52AD14A55F6C825CB0BF227FE39A415C448F9)
    
    *   前后台应用的判断依据：若应用进程获焦或所属的UIAbility组件位于前台则判定为前台应用，否则为后台应用。
    *   对于2in1和Tablet设备：
        *   从API version 18开始，如果应用已创建在前台显示的悬浮窗，当该应用退至后台时，无需校验BACKGROUND权限也可以拉起其他Ability。
        *   从API version 21开始，如果应用自身已经添加到状态栏，则当应用退至后台时，无需校验BACKGROUND权限也可以拉起自身的UIAbility。
    
*   **跨设备使用startAbilityByCall接口，需校验分布式权限ohos.permission.DISTRIBUTED\_DATASYNC。**
    

上述组件启动规则自API 9版本开始生效，新增规则生效版本在规则中单独说明。开发者需熟知组件启动规则，避免业务功能异常。启动组件的具体校验流程见下文。

#### 同设备组件启动规则

设备内启动组件，不同场景下的规则不同，可分为如下三种场景：

*   启动UIAbility。
    
*   启动ServiceExtensionAbility、DataShareExtensionAbility。
    
*   通过[startAbilityByCall](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#startabilitybycall)接口启动UIAbility。
    

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/4e/v3/rsNjihn-TimGzReus_odfA/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073233Z&HW-CC-Expire=86400&HW-CC-Sign=410BD70B6D209037C40967D240BA4FE449D8CDE5571CA9E000DDA6D251C8B90A)

下图中的BACKGROUND权限是指ohos.permission.START\_ABILITIES\_FROM\_BACKGROUND，CALL权限是指ohos.permission.ABILITY\_BACKGROUND\_COMMUNICATION。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/33/v3/7ofHr20eQde0KCt6dtcfNg/zh-cn_image_0000002625186977.png?HW-CC-KV=V1&HW-CC-Date=20260612T073233Z&HW-CC-Expire=86400&HW-CC-Sign=8419C977DE6CB3C78CE64538E7F0CF82BC6186394E5F6A69FD3986CB08405DF7)

#### 分布式跨设备组件启动规则

跨设备启动组件，不同场景下的规则不同，可分为如下三种场景：

*   启动UIAbility。
    
*   启动ServiceExtensionAbility、DataShareExtensionAbility。
    
*   通过[startAbilityByCall](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#startabilitybycall)接口启动UIAbility。
    

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/db/v3/xZ68ma-DTGWdv45_9it32g/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073233Z&HW-CC-Expire=86400&HW-CC-Sign=D6D1D8BCC3B30AA5EFF49982D336EEF8020FF954732CC11B366A5B1F78BF0FF7)

下图中的BACKGROUND权限是指ohos.permission.START\_ABILITIES\_FROM\_BACKGROUND，DATASYNC权限是指ohos.permission.DISTRIBUTED\_DATASYNC。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/46/v3/dkc6ViYyRxup3DzQZcr8Fg/zh-cn_image_0000002625107121.png?HW-CC-KV=V1&HW-CC-Date=20260612T073233Z&HW-CC-Expire=86400&HW-CC-Sign=77F579240E86F24314E31417B46E40AB52923BA75128D4BAB9CA5AC8DD5361C2)