Intelligent Assistant
Chat with our virtual assistant to get answers promptly.
We use essential cookies for the website to function, as well as analytics cookies for analyzing and creating statistics of the website performance. To agree to the use of analytics cookies, click "Accept All". You can manage your preferences at any time by clicking "Cookie Settings" on the footer. More Information.
HarmonyOS
Component startup refers to the behavior of starting or connecting to an application component.
Start the UIAbility, ServiceExtensionAbility, and DataShareExtensionAbility components. For example, you can use startAbility(), startServiceExtensionAbility(), startAbilityByCall(), and openLink().
Connect to the ServiceExtensionAbility and DataShareExtensionAbility components. For example, you can use connectServiceExtensionAbility() and createDataShareHelper().
To deliver a better user experience, the system restricts the following behavior:
A background application randomly displays a dialog box, such as an ads pop-up.
Background applications wake up each other. This type of behavior occupies system resources and increases power consumption, or even causes system frozen.
A foreground application randomly redirects to another application, for example, redirecting to the payment page of another application. This type of behavior poses security risks.
In view of this, the system formulates a set of component startup rules, as follows:
Before starting a component of another application, check whether the component can be called by others.
If the exported field of the component is set to true, the component can be called by other applications. If the field is set to false, the component cannot be called by other applications. If this is the case, you must also verify the permission ohos.permission.START_INVISIBLE_ABILITY, which is available only for system applications. For details about the exported fields, see abilities.
Before starting a UIAbility component of a background application, verify the permission ohos.permission.START_ABILITIES_FROM_BACKGROUND, which is available only for system applications.
Before using startAbilityByCall() to start a component running on another device, verify the permission ohos.permission.DISTRIBUTED_DATASYNC.
The component startup rules described above apply from API version 9 onwards. The specific version when new rules come into effect is noted separately within the rules. Familiarity with these rules helps you prevent service exceptions.
The rules for starting components on the same device vary in the following scenarios:
Starting the UIAbility component
Starting the ServiceExtensionAbility and DataShareExtensionAbility components
Using startAbilityByCall to start the UIAbility component
The BACKGROUND and CALL permissions in the following figure refer to ohos.permission.START_ABILITIES_FROM_BACKGROUND and ohos.permission.ABILITY_BACKGROUND_COMMUNICATION, respectively.

The rules for starting components on a different device vary in the following scenarios:
Starting the UIAbility component
Starting the ServiceExtensionAbility and DataShareExtensionAbility components
Using startAbilityByCall to start the UIAbility component
The BACKGROUND and DATASYNC permissions in the following figure refer to ohos.permission.START_ABILITIES_FROM_BACKGROUND and ohos.permission.DISTRIBUTED_DATASYNC, respectively.

Intelligent Assistant
Chat with our virtual assistant to get answers promptly.
Quick start
Helps you find desired resources with ease.