提交 11109b50 编写于 作者: W wusongqing

updated docs against 4490

Signed-off-by: Nwusongqing <wusongqing@huawei.com>
上级 453c3357
# WantAgent Development # WantAgent Development
### Introduction
The **WantAgent** class encapsulates a **Want** object that specifies a particular action. To trigger a **WantAgent**, you can either call **wantAgent.trigger** to trigger it directly or add it to a notification so that it will be triggered when users tap the notification.
You can use a **WantAgent** in a notification to start an ability or publish a common event.
### When to Use ### When to Use
Start another ability through a **WantAgent**. The **WantAgent** class encapsulates want information that specifies a particular action, which can be starting an ability or publishing a common event. You can either call **wantAgent.trigger** to trigger a **WantAgent** directly or add a **WantAgent** to a notification so that it will be triggered when users tap the notification.
### Available APIs ### Available APIs
| API | Description| | API | Description|
| ---------------------------------------------------------------------------------------------- | ----------- | | ---------------------------------------------------------------------------------------------- | ----------- |
| wantAgent.getWantAgentInfo(info: WantAgentInfo, callback: AsyncCallback\<WantAgent\>) | Creates a **WantAgent** object. This API uses an asynchronous callback to return the result.| | getWantAgentInfo(info: WantAgentInfo, callback: AsyncCallback\<WantAgent\>) | Creates a **WantAgent** object. This API uses an asynchronous callback to return the result.|
| wantAgent.getWantAgent(info: WantAgentInfo): Promise\<WantAgent\>; | Creates a **WantAgent** object. This API uses a promise to return the result.| | getWantAgent(info: WantAgentInfo): Promise\<WantAgent\> | Creates a **WantAgent** object. This API uses a promise to return the result.|
| commonEvent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback\<CompleteData\>) | Triggers a **WantAgent**.| | trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback\<CompleteData\>) | Triggers a **WantAgent** object.|
### How to Develop ### How to Develop
1. Import the **WantAgent** module. 1. Import the **WantAgent** module.
```javascript ```
import wantAgent from '@ohos.wantAgent'; import wantAgent from '@ohos.wantAgent';
``` ```
2. Create a **WantAgentInfo** object. For details about the data types and parameters of **WantAgentInfo**, see [WantAgent Module](../reference/apis/js-apis-wantAgent.md#wantagentinfo). 2. Create a **WantAgentInfo** object that will be used for starting an ability. For details about the data types and parameters of **WantAgentInfo**, see [WantAgent](../reference/apis/js-apis-wantAgent.md#wantagentinfo).
```javascript ```
private wantAgentObj = null // Save the WantAgent object created. It will be used to complete the trigger operations. private wantAgentObj = null // Save the WantAgent object created. It will be used to complete the trigger operations.
//wantAgentInfo //wantAgentInfo
var wantAgentInfo = { var wantAgentInfo = {
wants: [ wants: [
{ {
deviceId: "", deviceId: "",
...@@ -39,34 +34,53 @@ var wantAgentInfo = { ...@@ -39,34 +34,53 @@ var wantAgentInfo = {
parameters: {} parameters: {}
} }
], ],
operationType: OperationType.START_ABILITY, operationType: wantAgent.OperationType.START_ABILITY,
requestCode: 0,
wantAgentFlags:[wantAgent.WantAgentFlags.CONSTANT_FLAG]
}
```
3. Create a **WantAgentInfo** object for publishing a common event.
```
private wantAgentObj = null // Save the WantAgent object created. It will be used to complete the trigger operations.
//wantAgentInfo
var wantAgentInfo = {
wants: [
{
action: "event_name", // Set the action name.
parameters: {}
}
],
operationType: wantAgent.OperationType.SEND_COMMON_EVENT,
requestCode: 0, requestCode: 0,
wantAgentFlags:[WantAgentFlags.CONSTANT_FLAG] wantAgentFlags:[wantAgent.WantAgentFlags.CONSTANT_FLAG]
} }
``` ```
3. Create a **WantAgent** object and save the returned **wantAgentObj** for subsequent trigger operations. 4. Create a **WantAgent** object and save the returned **wantAgentObj** for subsequent trigger operations.
```javascript ```
// Create a WantAgent object. // Create a WantAgent object.
wantAgent.getWantAgent(wantAgentInfo, (err, wantAgentObj) => { wantAgent.getWantAgent(wantAgentInfo, (err, wantAgentObj) => {
if (err.code) { if (err.code) {
console.error("[WantAgent]getWantAgent err=" + JSON.stringify(err)) console.error("[WantAgent]getWantAgent err=" + JSON.stringify(err))
} else { } else {
console.log("[WantAgent]getWantAgent success") console.log("[WantAgent]getWantAgent success")
this.wantAgentObj = wantAgentObj this.wantAgentObj = wantAgentObj
} }
}) })
``` ```
4. Trigger the **WantAgent**. 5. Trigger the **WantAgent** object.
``` ```
// Trigger the WantAgent. // Trigger the WantAgent object.
var triggerInfo = { var triggerInfo = {
code:0 code:0
} }
wantAgent.trigger(wantAgentObj, triggerInfo, (completeData) => { wantAgent.trigger(wantAgentObj, triggerInfo, (completeData) => {
console.log("[WantAgent]getWantAgent success, completeData: ", + JSON.stringify(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.
先完成此消息的编辑!
想要评论请 注册