The **dialogRequest** module provides APIs related to modal dialog box processing, including obtaining the request information (used to bind a modal dialog box) and request callback (used to set the request result).
A modal dialog box is a system pop-up box that intercepts events (such as mouse, keyboard, and touchscreen events) triggered for the page displayed under it. The page can be operated only after the modal dialog box is destroyed.
> **NOTE**
>
> - The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
> - The APIs provided by this module are used in ServiceExtensionAbilities. For a ServiceExtensionAbility that implements modal dialog boxes, you can use the APIs to obtain the request information and request callback and return the request result.
| config | [Configuration](js-apis-app-ability-configuration.md) | Yes| No| UIAbility configuration, such as the language and color mode.|
| config | [Configuration](js-apis-app-ability-configuration.md) | Yes| No| UIAbility configuration, such as the language and color mode.|
> **NOTE**
> **NOTE**
> - In the sample code provided in this topic, **this.context** is used to obtain **UIAbilityContext**, where **this** indicates a UIAbility instance inherited from **UIAbility**. To use **UIAbilityContext** capabilities on pages, see [Obtaining the Context of UIAbility](../../application-models/uiability-usage.md#obtaining-the-context-of-uiability).
>
> In the sample code provided in this topic, **this.context** is used to obtain **UIAbilityContext**, where **this** indicates a UIAbility instance inherited from **UIAbility**. To use **UIAbilityContext** APIs on pages, see [Obtaining the Context of UIAbility](../../application-models/uiability-usage.md#obtaining-the-context-of-uiability).
## UIAbilityContext.startAbility
## UIAbilityContext.startAbility
...
@@ -44,50 +45,42 @@ Observe the following when using this API:
...
@@ -44,50 +45,42 @@ Observe the following when using this API:
| ID| Error Message|
| ID| Error Message|
| ------- | -------------------------------- |
| ------- | -------------------------------- |
| 201 | The application does not have permission to call the interface. |
| 16000001 | The specified ability does not exist. |
| 401 | Invalid input parameter. |
| 16000002 | Incorrect ability type. |
| 16000001 | Input error. The specified ability name does not exist. |
| 16000004 | Can not start invisible component. |
| 16000004 | Visibility verification failed. |
| 16000005 | The specified process does not have the permission. |
| 16000005 | Static permission denied. The specified process does not have the permission. |
| 16000006 | Cross-user operations are not allowed. |
| 16000007 | Service busyness. There are concurrent tasks, waiting for retry. |
| 16000008 | The crowdtesting application expires. |
| 16000008 | Crowdtest App Expiration. |
| 16000009 | An ability cannot be started or stopped in Wukong mode. |
| 16000009 | Can not start ability in wukong mode. |
| 16000010 | The call with the continuation flag is forbidden. |
| 16000010 | Can not operation with continue flag. |
| 16000011 | The context does not exist. |
| 16000011 | Context does not exist. |
| 16000050 | Internal error. |
| 16000051 | Network error. The network is abnormal. |
| 16000053 | The ability is not on the top of the UI. |
| 16000052 | Free install not support. The application does not support freeinstall |
| 16000055 | Installation-free timed out. |
| 16000053 | Not top ability. The application is not top ability. |
| 16200001 | The caller has been released. |
| 16000054 | Free install busyness. There are concurrent tasks, waiting for retry. |
| 16000055 | Free install timeout. |
| 16000056 | Can not free install other ability. |
| 16000057 | Not support cross device free install. |
| 16200001 | Caller released. The caller has been released. |
Starts an ability. After the ability is started, you can call [terminateSelfWithResult](#uiabilitycontextterminateselfwithresult) to terminate the ability and return the result to the caller. If an exception occurs, for example, the ability is killed, exception information is returned to the caller. This API uses an asynchronous callback to return the result.
Starts an ability. This API uses an asynchronous callback to return the result when the ability is terminated. The following situations may be possible for a started ability:
- Normally, you can call [terminateSelfWithResult](#uiabilitycontextterminateselfwithresult) to terminate the ability. The result is returned to the caller.
- If an exception occurs, for example, the ability is killed, an error message, in which **resultCode** is **-1**, is returned to the caller.
- If different applications call this API to start an ability that uses the singleton mode and then call [terminateSelfWithResult](#uiabilitycontextterminateselfwithresult) to terminate the ability, the normal result is returned to the last caller, and an error message, in which **resultCode** is **-1**, is returned to others.
Observe the following when using this API:
Observe the following when using this API:
- If an application running in the background needs to call this API to start an ability, it must have the **ohos.permission.START_ABILITIES_FROM_BACKGROUND** permission.
- If an application running in the background needs to call this API to start an ability, it must have the **ohos.permission.START_ABILITIES_FROM_BACKGROUND** permission.
...
@@ -268,58 +248,53 @@ Observe the following when using this API:
...
@@ -268,58 +248,53 @@ Observe the following when using this API:
| ID| Error Message|
| ID| Error Message|
| ------- | -------------------------------- |
| ------- | -------------------------------- |
| 201 | The application does not have permission to call the interface. |
| 16000001 | The specified ability does not exist. |
| 401 | Invalid input parameter. |
| 16000002 | Incorrect ability type. |
| 16000001 | Input error. The specified ability name does not exist. |
| 16000004 | Can not start invisible component. |
| 16000004 | Visibility verification failed. |
| 16000005 | The specified process does not have the permission. |
| 16000005 | Static permission denied. The specified process does not have the permission. |
| 16000006 | Cross-user operations are not allowed. |
| 16000007 | Service busyness. There are concurrent tasks, waiting for retry. |
| 16000008 | The crowdtesting application expires. |
| 16000008 | Crowdtest App Expiration. |
| 16000009 | An ability cannot be started or stopped in Wukong mode. |
| 16000009 | Can not start ability in wukong mode. |
| 16000010 | The call with the continuation flag is forbidden. |
| 16000010 | Can not operation with continue flag. |
| 16000011 | The context does not exist. |
| 16000011 | Context does not exist. |
| 16000050 | Internal error. |
| 16000051 | Network error. The network is abnormal. |
| 16000053 | The ability is not on the top of the UI. |
| 16000052 | Free install not support. The application does not support freeinstall |
| 16000055 | Installation-free timed out. |
| 16000053 | Not top ability. The application is not top ability. |
| 16200001 | The caller has been released. |
| 16000054 | Free install busyness. There are concurrent tasks, waiting for retry. |
| 16000055 | Free install timeout. |
| 16000056 | Can not free install other ability. |
| 16000057 | Not support cross device free install. |
| 16200001 | Caller released. The caller has been released. |
Starts an ability with the start options specified. After the ability is started, you can call [terminateSelfWithResult](#uiabilitycontextterminateselfwithresult) to terminate the ability and return the result to the caller. If an exception occurs, for example, the ability is killed, exception information is returned to the caller. This API uses an asynchronous callback to return the result.
Starts an ability with the start options specified. This API uses an asynchronous callback to return the result when the ability is terminated. The following situations may be possible for a started ability:
- Normally, you can call [terminateSelfWithResult](#uiabilitycontextterminateselfwithresult) to terminate the ability. The result is returned to the caller.
- If an exception occurs, for example, the ability is killed, an error message, in which **resultCode** is **-1**, is returned to the caller.
- If different applications call this API to start an ability that uses the singleton mode and then call [terminateSelfWithResult](#uiabilitycontextterminateselfwithresult) to terminate the ability, the normal result is returned to the last caller, and an error message, in which **resultCode** is **-1**, is returned to others.
Observe the following when using this API:
Observe the following when using this API:
- If an application running in the background needs to call this API to start an ability, it must have the **ohos.permission.START_ABILITIES_FROM_BACKGROUND** permission.
- If an application running in the background needs to call this API to start an ability, it must have the **ohos.permission.START_ABILITIES_FROM_BACKGROUND** permission.
...
@@ -340,54 +315,46 @@ Observe the following when using this API:
...
@@ -340,54 +315,46 @@ Observe the following when using this API:
| ID| Error Message|
| ID| Error Message|
| ------- | -------------------------------- |
| ------- | -------------------------------- |
| 201 | The application does not have permission to call the interface. |
| 16000001 | The specified ability does not exist. |
| 401 | Invalid input parameter. |
| 16000002 | Incorrect ability type. |
| 16000001 | Input error. The specified ability name does not exist. |
| 16000004 | Can not start invisible component. |
| 16000004 | Visibility verification failed. |
| 16000005 | The specified process does not have the permission. |
| 16000005 | Static permission denied. The specified process does not have the permission. |
| 16000006 | Cross-user operations are not allowed. |
| 16000007 | Service busyness. There are concurrent tasks, waiting for retry. |
| 16000008 | The crowdtesting application expires. |
| 16000008 | Crowdtest App Expiration. |
| 16000009 | An ability cannot be started or stopped in Wukong mode. |
| 16000009 | Can not start ability in wukong mode. |
| 16000010 | The call with the continuation flag is forbidden. |
| 16000010 | Can not operation with continue flag. |
| 16000011 | The context does not exist. |
| 16000011 | Context does not exist. |
| 16000050 | Internal error. |
| 16000051 | Network error. The network is abnormal. |
| 16000053 | The ability is not on the top of the UI. |
| 16000052 | Free install not support. The application does not support freeinstall |
| 16000055 | Installation-free timed out. |
| 16000053 | Not top ability. The application is not top ability. |
| 16200001 | The caller has been released. |
| 16000054 | Free install busyness. There are concurrent tasks, waiting for retry. |
| 16000055 | Free install timeout. |
| 16000056 | Can not free install other ability. |
| 16000057 | Not support cross device free install. |
| 16200001 | Caller released. The caller has been released. |
Starts an ability. After the ability is started, you can call [terminateSelfWithResult](#uiabilitycontextterminateselfwithresult) to terminate the ability and return the result to the caller. If an exception occurs, for example, the ability is killed, exception information is returned to the caller. This API uses a promise to return the result.
Starts an ability. This API uses a promise to return the result when the ability is terminated. The following situations may be possible to an ability after it is started:
- Normally, you can call [terminateSelfWithResult](#uiabilitycontextterminateselfwithresult) to terminate the ability. The result is returned to the caller.
- If an exception occurs, for example, the ability is killed, an error message, in which **resultCode** is **-1**, is returned to the caller.
- If different applications call this API to start an ability that uses the singleton mode and then call [terminateSelfWithResult](#uiabilitycontextterminateselfwithresult) to terminate the ability, the normal result is returned to the last caller, and an error message, in which **resultCode** is **-1**, is returned to others.
Observe the following when using this API:
Observe the following when using this API:
- If an application running in the background needs to call this API to start an ability, it must have the **ohos.permission.START_ABILITIES_FROM_BACKGROUND** permission.
- If an application running in the background needs to call this API to start an ability, it must have the **ohos.permission.START_ABILITIES_FROM_BACKGROUND** permission.
...
@@ -422,53 +392,45 @@ Observe the following when using this API:
...
@@ -422,53 +392,45 @@ Observe the following when using this API:
| ID| Error Message|
| ID| Error Message|
| ------- | -------------------------------- |
| ------- | -------------------------------- |
| 201 | The application does not have permission to call the interface. |
| 16000001 | The specified ability does not exist. |
| 401 | Invalid input parameter. |
| 16000002 | Incorrect ability type. |
| 16000001 | Input error. The specified ability name does not exist. |
| 16000004 | Can not start invisible component. |
| 16000004 | Visibility verification failed. |
| 16000005 | The specified process does not have the permission. |
| 16000005 | Static permission denied. The specified process does not have the permission. |
| 16000006 | Cross-user operations are not allowed. |
| 16000007 | Service busyness. There are concurrent tasks, waiting for retry. |
| 16000008 | The crowdtesting application expires. |
| 16000008 | Crowdtest App Expiration. |
| 16000009 | An ability cannot be started or stopped in Wukong mode. |
| 16000009 | Can not start ability in wukong mode. |
| 16000010 | The call with the continuation flag is forbidden. |
| 16000010 | Can not operation with continue flag. |
| 16000011 | The context does not exist. |
| 16000011 | Context does not exist. |
| 16000050 | Internal error. |
| 16000051 | Network error. The network is abnormal. |
| 16000053 | The ability is not on the top of the UI. |
| 16000052 | Free install not support. The application does not support freeinstall |
| 16000055 | Installation-free timed out. |
| 16000053 | Not top ability. The application is not top ability. |
| 16200001 | The caller has been released. |
| 16000054 | Free install busyness. There are concurrent tasks, waiting for retry. |
| 16000055 | Free install timeout. |
| 16000056 | Can not free install other ability. |
| 16000057 | Not support cross device free install. |
| 16200001 | Caller released. The caller has been released. |
Terminates this ability. If the ability is started by calling [startAbilityForResult](#uiabilitycontextstartabilityforresult), the result is returned to the caller in the form of a callback when **terminateSelfWithResult** is called. Otherwise, no result is returned to the caller when **terminateSelfWithResult** is called.
Terminates this ability. If the ability is started by calling [startAbilityForResult](#uiabilitycontextstartabilityforresult), the result is returned to the caller in the form of an asynchronous callback when **terminateSelfWithResult** is called. Otherwise, no result is returned to the caller when **terminateSelfWithResult** is called.
Starts a ServiceExtensionAbility that supports modal dialog boxes. After the ServiceExtensionAbility is started, the application displays a modal dialog box. You can call [setRequestResult](js-apis-app-ability-dialogRequest.md#requestcallbacksetrequestresult) to obtain the result.
Observe the following when using this API:
- If an application running in the background needs to call this API to start an ability, it must have the **ohos.permission.START_ABILITIES_FROM_BACKGROUND** permission.
- If **visible** of the target ability is **false** in cross-application scenarios, the caller must have the **ohos.permission.START_INVISIBLE_ABILITY** permission.
- For details about the startup rules for the components in the stage model, see [Component Startup Rules (Stage Model)](../../application-models/component-startup-rules.md).
Starts a ServiceExtensionAbility that supports modal dialog boxes. After the ServiceExtensionAbility is started, the application displays a modal dialog box. You can call [setRequestResult](js-apis-app-ability-dialogRequest.md#requestcallbacksetrequestresult) to obtain the result, which is returned to the caller in promise mode.
Observe the following when using this API:
- If an application running in the background needs to call this API to start an ability, it must have the **ohos.permission.START_ABILITIES_FROM_BACKGROUND** permission.
- If **visible** of the target ability is **false** in cross-application scenarios, the caller must have the **ohos.permission.START_INVISIBLE_ABILITY** permission.
- For details about the startup rules for the components in the stage model, see [Component Startup Rules (Stage Model)](../../application-models/component-startup-rules.md).