[]()WantAgent封装了一个行为意图信息,可以通过WantAgent.trigger接口主动触发,也可以通过与通知绑定被动触发。具体的行为包括:启动Ability和发布公共事件。
[]()接口名 | 接口描述 |
---|---|
getWantAgentInfo(info: WantAgentInfo, callback: AsyncCallback) | 以AsyncCallback形式创建WantAgent对象 |
getWantAgent(info: WantAgentInfo): Promise | 以Promise形式创建WantAgent对象 |
trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback) | 触发WantAgent |
[]()1.
[]()[]()导入WantAgent模块。
[]()[]()创建拉起Ability的WantAgentInfo信息,详细的WantAgentInfo信息数据类型及包含的参数请见WantAgentInfo文档介绍。
wants: [
```
{
```
deviceId: "",
```
bundleName: "com.example.test",
```
abilityName: "com.example.test.MainAbility",
```
action: "",
11. ```
entities: [],
uri: "",
13. ```
parameters: {}
}
15. ```
],
operationType: wantAgent.OperationType.START_ABILITY,
17. ```
requestCode: 0,
wantAgentFlags:[wantAgent.WantAgentFlags.CONSTANT_FLAG]
19. }
20.
[]()[]()创建发布公共事件的WantAgentInfo信息
1. private wantAgentObj = null //用于保存创建成功的WantAgent对象,后续使用其完成触发的动作。
2.
3. //wantAgentInfo
4. var wantAgentInfo = {
5. ```
wants: [
```
{
```
action: "event_name", // 设置事件名
```
parameters: {}
```
}
```
],
11. ```
operationType: wantAgent.OperationType.SEND_COMMON_EVENT,
requestCode: 0,
13. ```
wantAgentFlags:[wantAgent.WantAgentFlags.CONSTANT_FLAG]
[]()[]()创建WantAgent,保存返回的WantAgent对象wantAgentObj,用于执行后续触发操作。
if (err.code) {
```
console.error("[WantAgent]getWantAgent err=" + JSON.stringify(err))
```
} else {
```
console.log("[WantAgent]getWantAgent success")
```
this.wantAgentObj = wantAgentObj
```
}
```
[]()[]()触发WantAgent
code:0
```
console.log("[WantAgent]getWantAgent success, completeData: ", + JSON.stringify(completeData))
```
本文章主要引用HarmonyOS官方文档材料。