You need to sign in or sign up before continuing.
提交 02438b08 编写于 作者: zyjhandsome's avatar zyjhandsome

优化Want API的示例代码内容。

Signed-off-by: zyjhandsome's avatarzyjhandsome <zyjhandsome@126.com>
上级 efc01321
# @ohos.app.ability.Want (Want) # @ohos.app.ability.Want (Want)
Want是对象间信息传递的载体, 可以用于应用组件间的信息传递。 Want的使用场景之一是作为startAbility的参数, 其包含了指定的启动目标, 以及启动时需携带的相关数据, 如bundleName和abilityName字段分别指明目标Ability所在应用的包名以及对应包内的Ability名称。当UIAbilityA需要启动UIAbilityB并传入一些数据时, 可使用Want作为载体将这些数据传递给UIAbilityB。 Want是对象间信息传递的载体,可以用于应用组件间的信息传递。Want的使用场景之一是作为startAbility的参数,其包含了指定的启动目标,以及启动时需携带的相关数据,例如bundleName和abilityName字段分别指明目标Ability所在应用的包名以及对应包内的Ability名称。当UIAbilityA需要启动UIAbilityB并传入一些数据时,可使用Want作为载体将这些数据传递给UIAbilityB。
> **说明:** > **说明:**
> >
...@@ -31,7 +31,7 @@ import Want from '@ohos.app.ability.Want'; ...@@ -31,7 +31,7 @@ import Want from '@ohos.app.ability.Want';
**示例:** **示例:**
- 基础用法(在UIAbility对象中调用,其中示例中的context为UIAbility的上下文对象) - 基础用法:在UIAbility对象中调用,示例中的context的获取方式请参见[获取UIAbility的上下文信息](../../application-models/uiability-usage.md#获取uiability的上下文信息)
```ts ```ts
let want = { let want = {
...@@ -40,13 +40,14 @@ import Want from '@ohos.app.ability.Want'; ...@@ -40,13 +40,14 @@ import Want from '@ohos.app.ability.Want';
'abilityName': 'FuncAbility', 'abilityName': 'FuncAbility',
'moduleName': 'entry' // moduleName非必选 'moduleName': 'entry' // moduleName非必选
}; };
this.context.startAbility(want, (error) => {
this.context.startAbility(want, (err) => {
// 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability // 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability
console.log('error.code = ' + error.code); console.error(`startAbility failed, code is ${err.code}, message is ${err.message}`);
}); });
``` ```
- 通过自定字段传递数据, 以下为当前支持类型(在UIAbility对象中调用,其中示例中的context为UIAbility的上下文对象)。 - 通过自定字段传递数据,以下为当前支持类型(在UIAbility对象中调用,示例中的context的获取方式请参见[获取UIAbility的上下文信息](../../application-models/uiability-usage.md#获取uiability的上下文信息))。
* 字符串(String) * 字符串(String)
```ts ```ts
...@@ -57,6 +58,10 @@ import Want from '@ohos.app.ability.Want'; ...@@ -57,6 +58,10 @@ import Want from '@ohos.app.ability.Want';
keyForString: 'str', keyForString: 'str',
}, },
}; };
this.context.startAbility(want, (err) => {
console.error(`startAbility failed, code is ${err.code}, message is ${err.message}`);
});
``` ```
* 数字(Number) * 数字(Number)
```ts ```ts
...@@ -68,6 +73,10 @@ import Want from '@ohos.app.ability.Want'; ...@@ -68,6 +73,10 @@ import Want from '@ohos.app.ability.Want';
keyForDouble: 99.99, keyForDouble: 99.99,
}, },
}; };
this.context.startAbility(want, (err) => {
console.error(`startAbility failed, code is ${err.code}, message is ${err.message}`);
});
``` ```
* 布尔(Boolean) * 布尔(Boolean)
```ts ```ts
...@@ -78,6 +87,10 @@ import Want from '@ohos.app.ability.Want'; ...@@ -78,6 +87,10 @@ import Want from '@ohos.app.ability.Want';
keyForBool: true, keyForBool: true,
}, },
}; };
this.context.startAbility(want, (err) => {
console.error(`startAbility failed, code is ${err.code}, message is ${err.message}`);
});
``` ```
* 对象(Object) * 对象(Object)
```ts ```ts
...@@ -93,6 +106,10 @@ import Want from '@ohos.app.ability.Want'; ...@@ -93,6 +106,10 @@ import Want from '@ohos.app.ability.Want';
}, },
}, },
}; };
this.context.startAbility(want, (err) => {
console.error(`startAbility failed, code is ${err.code}, message is ${err.message}`);
});
``` ```
* 数组(Array) * 数组(Array)
```ts ```ts
...@@ -103,17 +120,22 @@ import Want from '@ohos.app.ability.Want'; ...@@ -103,17 +120,22 @@ import Want from '@ohos.app.ability.Want';
keyForArrayString: ['str1', 'str2', 'str3'], keyForArrayString: ['str1', 'str2', 'str3'],
keyForArrayInt: [100, 200, 300, 400], keyForArrayInt: [100, 200, 300, 400],
keyForArrayDouble: [0.1, 0.2], keyForArrayDouble: [0.1, 0.2],
keyForArrayObject: [{obj1: 'aaa'}, {obj2: 100}], keyForArrayObject: [{ obj1: 'aaa' }, { obj2: 100 }],
}, },
}; };
this.context.startAbility(want, (err) => {
console.error(`startAbility failed, code is ${err.code}, message is ${err.message}`);
});
``` ```
* 文件描述符(FD) * 文件描述符(FD)
```ts ```ts
import fileio from '@ohos.fileio'; import fileio from '@ohos.fileio';
let fd; let fd;
try { try {
fd = fileio.openSync('/data/storage/el2/base/haps/pic.png'); fd = fileio.openSync('/data/storage/el2/base/haps/pic.png');
} catch(e) { } catch (e) {
console.log('openSync fail:' + JSON.stringify(e)); console.log('openSync fail:' + JSON.stringify(e));
} }
let want = { let want = {
...@@ -122,16 +144,12 @@ import Want from '@ohos.app.ability.Want'; ...@@ -122,16 +144,12 @@ import Want from '@ohos.app.ability.Want';
'abilityName': 'FuncAbility', 'abilityName': 'FuncAbility',
'moduleName': 'entry', // moduleName非必选 'moduleName': 'entry', // moduleName非必选
'parameters': { 'parameters': {
'keyFd':{'type':'FD', 'value':fd} // {'type':'FD', 'value':fd}是固定用法,用于表示该数据是FD 'keyFd': { 'type': 'FD', 'value': fd } // {'type':'FD', 'value':fd}是固定用法,用于表示该数据是FD
} }
}; };
this.context.startAbility(want, (error) => {
// 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability this.context.startAbility(want, (err) => {
console.log('error.code = ' + error.code) console.error(`startAbility failed, code is ${err.code}, message is ${err.message}`);
}); });
``` ```
- 更多详细说明和示例请参见: [应用模型](../../application-models/Readme-CN.md)的信息传递载体Want
<!--no_check-->
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册