Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
c5536f9a
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看板
未验证
提交
c5536f9a
编写于
5月 25, 2022
作者:
O
openharmony_ci
提交者:
Gitee
5月 25, 2022
浏览文件
操作
浏览文件
下载
差异文件
!4287 WantAgent开发指导资料问题修改
Merge pull request !4287 from zero-cyc/0524
上级
0ddf6b67
5746cbb2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
71 addition
and
55 deletion
+71
-55
zh-cn/application-dev/ability/wantagent.md
zh-cn/application-dev/ability/wantagent.md
+71
-55
未找到文件。
zh-cn/application-dev/ability/wantagent.md
浏览文件 @
c5536f9a
# WantAgent开发指导
### 简介
wantAgent封装了一个指定行为的意图,可以通过w
antAgent.trigger接口主动触发,也可以通过与通知绑定被动触发。
###
场景
简介
WantAgent封装了一个行为意图信息,可以通过W
antAgent.trigger接口主动触发,也可以通过与通知绑定被动触发。
具体的行为包括:启动ability和发布公共事件。
### 场景介绍
通过wantAgent,拉起另外一个ability
具体的行为包括:启动Ability和发布公共事件。
### 接口说明
| 接口名 | 接口描述 |
| ---------------------------------------------------------------------------------------------- | ----------- |
|
wantAgent.getWantAgentInfo(info: WantAgentInfo, callback: AsyncCallback
\<
WantAgent
\>
) | 创建wantAgent对象(callback)
|
|
wantAgent.getWantAgent(info: WantAgentInfo): Promise
\<
WantAgent
\>
; | 创建wantAgent对象(promise)
|
|
commonEvent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback
\<
CompleteData
\>
) | 触发w
antAgent |
|
getWantAgentInfo(info: WantAgentInfo, callback: AsyncCallback
\<
WantAgent
\>
) | 以AsyncCallback形式创建WantAgent对象
|
|
getWantAgent(info: WantAgentInfo): Promise
\<
WantAgent
\>
| 以Promise形式创建WantAgent对象
|
|
trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback
\<
CompleteData
\>
) | 触发W
antAgent |
### 开发步骤
1.
导入WantAgent模块。
```
javascript
import
wantAgent
from
'
@ohos.wantAgent
'
;
```
```
import wantAgent from '@ohos.wantAgent';
```
2.
创建拉起Ability的WantAgentInfo信息,详细的WantAgentInfo信息数据类型及包含的参数请见
[
WantAgentInfo文档
](
../reference/apis/js-apis-wantAgent.md#wantagentinfo
)
介绍。
2.
创建WantAgentInfo信息,详细的WantAgentInfo信息数据类型及包含的参数请见
[
WantAgentInfo文档
](
../reference/apis/js-apis-wantAgent.md#WantAgentInfo
)
介绍。
```
private wantAgentObj = null //用于保存创建成功的wantAgent对象,后续使用其完成触发的动作。
//wantAgentInfo
var wantAgentInfo = {
wants: [
{
deviceId: "",
bundleName: "com.example.test",
abilityName: "com.example.test.MainAbility",
action: "",
entities: [],
uri: "",
parameters: {}
}
],
operationType: OperationType.START_ABILITY,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.CONSTANT_FLAG]
}
```
```
javascript
private
wantAgentObj
=
null
//用于保存创建成功的wantAgent对象,后续使用其完成触发的动作
3.
创建发布公共事件的WantAgentInfo信息
//wantAgentInfo
var
wantAgentInfo
=
{
wants
:
[
{
deviceId
:
""
,
bundleName
:
"
com.example.test
"
,
abilityName
:
"
com.example.test.MainAbility
"
,
action
:
""
,
entities
:
[],
uri
:
""
,
parameters
:
{}
}
],
operationType
:
OperationType
.
START_ABILITY
,
requestCode
:
0
,
wantAgentFlags
:[
WantAgentFlags
.
CONSTANT_FLAG
]
}
```
```
private wantAgentObj = null //用于保存创建成功的WantAgent对象,后续使用其完成触发的动作。
//wantAgentInfo
var wantAgentInfo = {
wants: [
{
action: "event_name", // 设置事件名
parameters: {}
}
],
operationType: OperationType.SEND_COMMON_EVENT,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.CONSTANT_FLAG]
}
```
3.
创建wantAgent,保存返回的w
antAgent对象wantAgentObj,用于执行后续触发操作。
4.
创建WantAgent,保存返回的W
antAgent对象wantAgentObj,用于执行后续触发操作。
```
javascript
//创建w
antAgent
wantAgent
.
getWantAgent
(
wantAgentInfo
,
(
err
,
wantAgentObj
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
"
[WantAgent]getWantAgent err=
"
+
JSON
.
stringify
(
err
))
}
else
{
console
.
log
(
"
[WantAgent]getWantAgent success
"
)
this
.
wantAgentObj
=
wantAgentObj
}
})
```
```
//创建W
antAgent
wantAgent.getWantAgent(wantAgentInfo, (err, wantAgentObj) => {
if (err.code) {
console.error("[WantAgent]getWantAgent err=" + JSON.stringify(err))
} else {
console.log("[WantAgent]getWantAgent success")
this.wantAgentObj = wantAgentObj
}
})
```
4.
触发w
antAgent
5.
触发W
antAgent
```
//触发wantAgent
var triggerInfo = {
code:0
}
wantAgent.trigger(wantAgentObj, triggerInfo, (completeData) => {
console.log("[WantAgent]getWantAgent success, completeData: ", + JSON.stringify(completeData))
})
```
\ No newline at end of file
```
//触发WantAgent
var triggerInfo = {
code:0
}
wantAgent.trigger(wantAgentObj, triggerInfo, (completeData) => {
console.log("[WantAgent]getWantAgent success, completeData: ", + JSON.stringify(completeData))
})
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录