You need to sign in or sign up before continuing.
未验证 提交 3aca0377 编写于 作者: O openharmony_ci 提交者: Gitee

!14122...

!14122 @ohos.ability.wantConstant接口引用位置,统一替换为@ohos.app.ability.wantConstant接口地址;部分startAbility()方法增加API超链接;修改一个代码格式错误问题
Merge pull request !14122 from zyjhandsome/master
# 常见action与entities # 常见action与entities
**[action](../reference/apis/js-apis-ability-wantConstant.md#wantconstantaction)**:表示调用方要执行的通用操作(如查看、分享、应用详情)。在隐式Want中,您可定义该字段,配合uri或parameters来表示对数据要执行的操作。如打开,查看该uri数据。例如,当uri为一段网址,action为ohos.want.action.viewData则表示匹配可查看该网址的Ability。在Want内声明action字段表示希望被调用方应用支持声明的操作。在被调用方应用配置文件skills字段内声明actions表示该应用支持声明操作。 **[action](../reference/apis/js-apis-app-ability-wantConstant.md#wantconstantaction)**:表示调用方要执行的通用操作(如查看、分享、应用详情)。在隐式Want中,您可定义该字段,配合uri或parameters来表示对数据要执行的操作。如打开,查看该uri数据。例如,当uri为一段网址,action为ohos.want.action.viewData则表示匹配可查看该网址的Ability。在Want内声明action字段表示希望被调用方应用支持声明的操作。在被调用方应用配置文件skills字段内声明actions表示该应用支持声明操作。
**常见action** **常见action**
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
- ACTION_VIEW_MULTIPLE_DATA:发送多个数据记录的操作。 - ACTION_VIEW_MULTIPLE_DATA:发送多个数据记录的操作。
**[entities](../reference/apis/js-apis-ability-wantConstant.md#wantconstantentity)**:表示目标Ability的类别信息(如浏览器、视频播放器),在隐式Want中是对action的补充。在隐式Want中,开发者可定义该字段,来过滤匹配应用的类别,例如必须是浏览器。在Want内声明entities字段表示希望被调用方应用属于声明的类别。在被调用方应用配置文件skills字段内声明entites表示该应用支持的类别。 **[entities](../reference/apis/js-apis-app-ability-wantConstant.md#wantconstantentity)**:表示目标Ability的类别信息(如浏览器、视频播放器),在隐式Want中是对action的补充。在隐式Want中,开发者可定义该字段,来过滤匹配应用的类别,例如必须是浏览器。在Want内声明entities字段表示希望被调用方应用属于声明的类别。在被调用方应用配置文件skills字段内声明entites表示该应用支持的类别。
**常用entities** **常用entities**
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
### want参数的action匹配规则 ### want参数的action匹配规则
将调用方传入的want参数的[action](../reference/apis/js-apis-ability-wantConstant.md#wantconstantaction)与待匹配Ability的skills配置中的actions进行匹配。 将调用方传入的want参数的[action](../reference/apis/js-apis-app-ability-wantConstant.md#wantconstantaction)与待匹配Ability的skills配置中的actions进行匹配。
- 调用方传入的want参数的action不为空,待匹配Ability的skills配置中的actions为空,则action匹配失败。 - 调用方传入的want参数的action不为空,待匹配Ability的skills配置中的actions为空,则action匹配失败。
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
### want参数的entities匹配规则 ### want参数的entities匹配规则
将调用方传入的want参数的[entities](../reference/apis/js-apis-ability-wantConstant.md#wantconstantentity)与待匹配Ability的skills配置中的entities进行匹配。 将调用方传入的want参数的[entities](../reference/apis/js-apis-app-ability-wantConstant.md#wantconstantentity)与待匹配Ability的skills配置中的entities进行匹配。
- 调用方传入的want参数的entities为空,待匹配Ability的skills配置中的entities不为空,则entities匹配成功。 - 调用方传入的want参数的entities为空,待匹配Ability的skills配置中的entities不为空,则entities匹配成功。
......
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
} }
``` ```
4. 设置目标组件参数,调用startAbility()接口,启动UIAbility或ServiceExtensionAbility。 4. 设置目标组件参数,调用[startAbility()](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartability)接口,启动UIAbility或ServiceExtensionAbility。
```ts ```ts
let want = { let want = {
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
**图1** 任务与singleton模式 **图1** 任务与singleton模式
![mission-and-singleton](figures/mission-and-singleton.png) ![mission-and-singleton](figures/mission-and-singleton.png)
- standard:多实例模式,每次调用startAbility()方法,都会在应用进程中创建一个该Ability的实例。 - standard:多实例模式,每次调用[startAbility()](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartability)方法,都会在应用进程中创建一个该Ability的实例。
**图2** 任务与standard模式 **图2** 任务与standard模式
![mission-and-standard](figures/mission-and-standard.png) ![mission-and-standard](figures/mission-and-standard.png)
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
- 将一个指定的任务切换到前台。 - 将一个指定的任务切换到前台。
一个UIAbility实例对应一个单独的任务,因此应用调用startAbility()方法启动一个UIAbility时,就是创建了一个任务。 一个UIAbility实例对应一个单独的任务,因此应用调用[startAbility()](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartability)方法启动一个UIAbility时,就是创建了一个任务。
桌面应用调用[missionManager](../reference/apis/js-apis-application-missionManager.md)的接口管理任务,需要申请`ohos.permission.MANAGE_MISSIONS`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明) 桌面应用调用[missionManager](../reference/apis/js-apis-application-missionManager.md)的接口管理任务,需要申请`ohos.permission.MANAGE_MISSIONS`权限,配置方式请参见[访问控制授权申请](../security/accesstoken-guidelines.md#配置文件权限声明)
......
...@@ -27,7 +27,7 @@ async function startServiceAbility() { ...@@ -27,7 +27,7 @@ async function startServiceAbility() {
``` ```
执行上述代码后,Ability将通过startAbility() 方法来启动ServiceAbility。 执行上述代码后,Ability将通过[startAbility()](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartability)方法来启动ServiceAbility。
- 如果ServiceAbility尚未运行,则系统会先调用onStart()来初始化ServiceAbility,再回调Service的onCommand()方法来启动ServiceAbility。 - 如果ServiceAbility尚未运行,则系统会先调用onStart()来初始化ServiceAbility,再回调Service的onCommand()方法来启动ServiceAbility。
......
...@@ -106,10 +106,10 @@ globalThis是ArkTS引擎实例内部的一个全局对象,引擎内部的UIAbi ...@@ -106,10 +106,10 @@ globalThis是ArkTS引擎实例内部的一个全局对象,引擎内部的UIAbi
globalThis为[ArkTS引擎实例](thread-model-stage.md)下的全局对象,可以通过globalThis绑定属性/方法来进行UIAbility组件与UI的数据同步。例如在UIAbility组件中绑定want参数,即可在UIAbility对应的UI界面上使用want参数信息。 globalThis为[ArkTS引擎实例](thread-model-stage.md)下的全局对象,可以通过globalThis绑定属性/方法来进行UIAbility组件与UI的数据同步。例如在UIAbility组件中绑定want参数,即可在UIAbility对应的UI界面上使用want参数信息。
1. 调用startAbility()方法启动一个UIAbility实例时,被启动的UIAbility创建完成后会进入onCreate()生命周期回调,且在onCreate()生命周期回调中能够接受到传递过来的want参数,可以将want参数绑定到globalThis上。 1. 调用[startAbility()](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartability)方法启动一个UIAbility实例时,被启动的UIAbility创建完成后会进入onCreate()生命周期回调,且在onCreate()生命周期回调中能够接受到传递过来的want参数,可以将want参数绑定到globalThis上。
```ts ```ts
import UIAbility from '@ohos.app.ability.UIAbility' import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility { export default class EntryAbility extends UIAbility {
onCreate(want, launch) { onCreate(want, launch) {
......
...@@ -26,7 +26,7 @@ UIAbility是系统调度的最小单元。在设备内的功能模块之间跳 ...@@ -26,7 +26,7 @@ UIAbility是系统调度的最小单元。在设备内的功能模块之间跳
假设应用中有两个UIAbility:EntryAbility和FuncAbility(可以在应用的一个Module中,也可以在的不同Module中),需要从EntryAbility的页面中启动FuncAbility。 假设应用中有两个UIAbility:EntryAbility和FuncAbility(可以在应用的一个Module中,也可以在的不同Module中),需要从EntryAbility的页面中启动FuncAbility。
1. 在EntryAbility中,通过调用startAbility()方法启动UIAbility,[want](../reference/apis/js-apis-app-ability-want.md)为UIAbility实例启动的入口参数,其中bundleName为待启动应用的Bundle名称,abilityName为待启动的Ability名称,moduleName在待启动的UIAbility属于不同的Module时添加,parameters为自定义信息参数。示例中的context的获取方式参见[获取UIAbility的Context属性](uiability-usage.md#获取uiability的上下文信息) 1. 在EntryAbility中,通过调用[startAbility()](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartability)方法启动UIAbility,[want](../reference/apis/js-apis-app-ability-want.md)为UIAbility实例启动的入口参数,其中bundleName为待启动应用的Bundle名称,abilityName为待启动的Ability名称,moduleName在待启动的UIAbility属于不同的Module时添加,parameters为自定义信息参数。示例中的context的获取方式参见[获取UIAbility的Context属性](uiability-usage.md#获取uiability的上下文信息)
```ts ```ts
let wantInfo = { let wantInfo = {
...@@ -149,11 +149,11 @@ UIAbility是系统调度的最小单元。在设备内的功能模块之间跳 ...@@ -149,11 +149,11 @@ UIAbility是系统调度的最小单元。在设备内的功能模块之间跳
- 显式Want启动:启动一个确定应用的UIAbility,在want参数中需要设置该应用bundleName和abilityName,当需要拉起某个明确的UIAbility时,通常使用显式Want启动方式。 - 显式Want启动:启动一个确定应用的UIAbility,在want参数中需要设置该应用bundleName和abilityName,当需要拉起某个明确的UIAbility时,通常使用显式Want启动方式。
- 隐式Want启动:根据匹配条件由用户选择启动哪一个UIAbility,即不明确指出要启动哪一个UIAbility(abilityName参数未设置),在调用startAbility()方法时,其入参want中指定了一系列的[entities](../reference/apis/js-apis-ability-wantConstant.md#wantconstantentity)字段(表示目标UIAbility额外的类别信息,如浏览器、视频播放器)和[actions](../reference/apis/js-apis-ability-wantConstant.md#wantconstantaction)字段(表示要执行的通用操作,如查看、分享、应用详情等)等参数信息,然后由系统去分析want,并帮助找到合适的UIAbility来启动。当需要拉起其他应用的UIAbility时,开发者通常不知道用户设备中应用的安装情况,也无法确定目标应用的bundleName和abilityName,通常使用隐式Want启动方式。 - 隐式Want启动:根据匹配条件由用户选择启动哪一个UIAbility,即不明确指出要启动哪一个UIAbility(abilityName参数未设置),在调用[startAbility()](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartability)方法时,其入参want中指定了一系列的[entities](../reference/apis/js-apis-app-ability-wantConstant.md#wantconstantentity)字段(表示目标UIAbility额外的类别信息,如浏览器、视频播放器)和[actions](../reference/apis/js-apis-app-ability-wantConstant.md#wantconstantaction)字段(表示要执行的通用操作,如查看、分享、应用详情等)等参数信息,然后由系统去分析want,并帮助找到合适的UIAbility来启动。当需要拉起其他应用的UIAbility时,开发者通常不知道用户设备中应用的安装情况,也无法确定目标应用的bundleName和abilityName,通常使用隐式Want启动方式。
本章节主要讲解如何通过隐式Want启动其他应用的UIAbility。 本章节主要讲解如何通过隐式Want启动其他应用的UIAbility。
1. 将多个待匹配的文档应用安装到设备,在其对应UIAbility的[module.json5配置文件](../quick-start/module-configuration-file.md)中,配置skills的[entities](../reference/apis/js-apis-ability-wantConstant.md#wantconstantentity)字段和[actions](../reference/apis/js-apis-ability-wantConstant.md#wantconstantaction)字段。 1. 将多个待匹配的文档应用安装到设备,在其对应UIAbility的[module.json5配置文件](../quick-start/module-configuration-file.md)中,配置skills的[entities](../reference/apis/js-apis-app-ability-wantConstant.md#wantconstantentity)字段和[actions](../reference/apis/js-apis-app-ability-wantConstant.md#wantconstantaction)字段。
```json ```json
{ {
...@@ -216,7 +216,7 @@ UIAbility是系统调度的最小单元。在设备内的功能模块之间跳 ...@@ -216,7 +216,7 @@ UIAbility是系统调度的最小单元。在设备内的功能模块之间跳
当使用隐式Want启动其他应用的UIAbility并希望获取返回结果时,调用方需要使用[startAbilityForResult()](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextterminateselfwithresult)方法启动目标UIAbility。例如主应用中需要启动三方支付并获取支付结果。 当使用隐式Want启动其他应用的UIAbility并希望获取返回结果时,调用方需要使用[startAbilityForResult()](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextterminateselfwithresult)方法启动目标UIAbility。例如主应用中需要启动三方支付并获取支付结果。
1. 在支付应用对应UIAbility的module.json5配置文件中,配置skills的[entities](../reference/apis/js-apis-ability-wantConstant.md#wantconstantentity)字段和[actions](../reference/apis/js-apis-ability-wantConstant.md#wantconstantaction)字段。 1. 在支付应用对应UIAbility的module.json5配置文件中,配置skills的[entities](../reference/apis/js-apis-app-ability-wantConstant.md#wantconstantentity)字段和[actions](../reference/apis/js-apis-app-ability-wantConstant.md#wantconstantaction)字段。
```json ```json
{ {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
## Want的定义与用途 ## Want的定义与用途
[Want](../reference/apis/js-apis-app-ability-want.md)是对象间信息传递的载体,可以用于应用组件间的信息传递。其使用场景之一是作为startAbility()的参数,包含了指定的启动目标以及启动时需携带的相关数据,如bundleName和abilityName字段分别指明目标Ability所在应用的Bundle名称以及对应包内的Ability名称。当UIAbilityA启动UIAbilityB并需要传入一些数据给UIAbilityB时,Want可以作为一个载体将数据传给UIAbilityB。 [Want](../reference/apis/js-apis-app-ability-want.md)是对象间信息传递的载体,可以用于应用组件间的信息传递。其使用场景之一是作为[startAbility()](../reference/apis/js-apis-inner-application-uiAbilityContext.md#uiabilitycontextstartability)的参数,包含了指定的启动目标以及启动时需携带的相关数据,如bundleName和abilityName字段分别指明目标Ability所在应用的Bundle名称以及对应包内的Ability名称。当UIAbilityA启动UIAbilityB并需要传入一些数据给UIAbilityB时,Want可以作为一个载体将数据传给UIAbilityB。
**图1** Want用法示意 **图1** Want用法示意
<img src="figures/usage-of-want.png" alt="usage-of-want" style="zoom:80%;" /> <img src="figures/usage-of-want.png" alt="usage-of-want" style="zoom:80%;" />
......
...@@ -326,7 +326,7 @@ subsystem # 子系统 ...@@ -326,7 +326,7 @@ subsystem # 子系统
针对不同语言,下面提供不同的编译模板以供参考。 针对不同语言,下面提供不同的编译模板以供参考。
- **C++用例编译配置示例** - **C++用例编译配置示例**
``` ```c++
import("//build/test.gni") import("//build/test.gni")
...@@ -414,8 +414,8 @@ subsystem # 子系统 ...@@ -414,8 +414,8 @@ subsystem # 子系统
> - ohos_performancetest:性能测试 > - ohos_performancetest:性能测试
> - ohos_securitytest:安全测试 > - ohos_securitytest:安全测试
> - ohos_reliabilitytest:可靠性测试 > - ohos_reliabilitytest:可靠性测试
> - ohos_distributedtest:分布式测试 > - ohos_distributedtest:分布式测试
7. 对目标测试用例文件进行条件分组 7. 对目标测试用例文件进行条件分组
``` ```
...@@ -425,10 +425,10 @@ subsystem # 子系统 ...@@ -425,10 +425,10 @@ subsystem # 子系统
} }
``` ```
> **说明:** 进行条件分组的目的在于执行用例时可以选择性的执行某一种特定类型的用例。 > **说明:** 进行条件分组的目的在于执行用例时可以选择性的执行某一种特定类型的用例。
- **JavaScript用例编译配置示例** - **JavaScript用例编译配置示例**
``` ```javascript
import("//build/test.gni") import("//build/test.gni")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册