Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
b0c0b8f8
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
b0c0b8f8
编写于
11月 08, 2022
作者:
O
openharmony_ci
提交者:
Gitee
11月 08, 2022
浏览文件
操作
浏览文件
下载
差异文件
!11255 将want开发指导内自定义字段示例转移至API参考内
Merge pull request !11255 from 闫文豪/wantGuide
上级
d06a1b69
271f01e0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
79 addition
and
67 deletion
+79
-67
zh-cn/application-dev/reference/apis/js-apis-application-Want.md
...pplication-dev/reference/apis/js-apis-application-Want.md
+79
-67
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-application-Want.md
浏览文件 @
b0c0b8f8
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录