未验证 提交 b0c0b8f8 编写于 作者: O openharmony_ci 提交者: Gitee

!11255 将want开发指导内自定义字段示例转移至API参考内

Merge pull request !11255 from 闫文豪/wantGuide
......@@ -3,7 +3,7 @@
Want模块提供系统的基本通信组件的能力。
> **说明:**
>
>
> 本模块首批接口从API version 8 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
......@@ -46,79 +46,91 @@ import Want from '@ohos.application.Want';
})
```
- 传递FD数据,FD表示文件描述符(FileDescriptor)
- 通过自定字段传递数据, 以下为当前支持类型。
``` js
import fileio from '@ohos.fileio';
var fd;
try {
fd = fileio.openSync("/data/storage/el2/base/haps/pic.png");
} catch(e) {
console.log("openSync fail:" + JSON.stringify(e));
}
var want = {
"deviceId": "", // deviceId为空表示本设备
"bundleName": "com.extreme.test",
"abilityName": "MainAbility",
"moduleName": "entry", // moduleName非必选
"parameters": {
"keyFd":{"type":"FD", "value":fd}
* 字符串(String)
```ts
let want = {
bundleName: "com.example.demo",
abilityName: "com.example.demo.MainAbility",
parameters: {
keyForString: "str",
},
}
};
this.context.startAbility(want, (error) => {
// 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability
console.log("error.code = " + error.code)
})
```
- 传递RemoteObject数据
``` js
import rpc from '@ohos.rpc';
import Ability from '@ohos.application.Ability'
class Stub extends rpc.RemoteObject {
constructor(des) {
if (typeof des == 'string') {
super(des);
} else {
return null;
}
```
* 数字(Number)
```ts
let want = {
bundleName: "com.example.demo",
abilityName: "com.example.demo.MainAbility",
parameters: {
keyForInt: 100,
keyForDouble: 99.99,
},
}
onRemoteRequest(code, data, reply, option) {
if (code === 1) {
console.log('onRemoteRequest called')
let token = data.readInterfaceToken();
let num = data.readInt();
this.method();
return true;
}
return false;
```
* 布尔(Boolean)
```ts
let want = {
bundleName: "com.example.demo",
abilityName: "com.example.demo.MainAbility",
parameters: {
keyForBool: true,
},
}
method() {
console.log('method called');
```
* 对象(Object)
```ts
let want = {
bundleName: "com.example.demo",
abilityName: "com.example.demo.MainAbility",
parameters: {
keyForObject: {
keyForObjectString: "str",
keyForObjectInt: -200,
keyForObjectDouble: 35.5,
keyForObjectBool: false,
},
},
}
}
var remoteObject = new Stub('want-test');
var want = {
"deviceId": "", // deviceId为空表示本设备
"bundleName": "com.extreme.test",
"abilityName": "MainAbility",
"moduleName": "entry", // moduleName非必选
"parameters": {
"keyRemoteObject":{"type":"RemoteObject", "value":remoteObject}
```
* 数组(Array)
```ts
let want = {
bundleName: "com.example.demo",
abilityName: "com.example.demo.MainAbility",
parameters: {
keyForArrayString: ["str1", "str2", "str3"],
keyForArrayInt: [100, 200, 300, 400],
keyForArrayDouble: [0.1, 0.2],
keyForArrayObject: [{obj1: "aaa"}, {obj2: 100}],
},
}
};
this.context.startAbility(want, (error) => {
// 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability
console.log("error.code = " + error.code)
})
```
* 文件描述符(FD)
```ts
import fileio from '@ohos.fileio';
var fd;
try {
fd = fileio.openSync("/data/storage/el2/base/haps/pic.png");
} catch(e) {
console.log("openSync fail:" + JSON.stringify(e));
}
var want = {
"deviceId": "", // deviceId为空表示本设备
"bundleName": "com.extreme.test",
"abilityName": "MainAbility",
"moduleName": "entry", // moduleName非必选
"parameters": {
"keyFd":{"type":"FD", "value":fd}
}
};
this.context.startAbility(want, (error) => {
// 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability
console.log("error.code = " + error.code)
})
```
```
<!--no_check-->
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册