diff --git a/en/application-dev/ability/wantagent.md b/en/application-dev/ability/wantagent.md index 013c2010966a891debdc080bd6b1390a19f5537d..eacc92936960cca3bd022e6438a63c15a8f2688a 100644 --- a/en/application-dev/ability/wantagent.md +++ b/en/application-dev/ability/wantagent.md @@ -1,73 +1,86 @@ # WantAgent Development +## When to Use +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. -### Introduction -The **WantAgent** class encapsulates a **Want** object that specifies a particular action. You can trigger a **WantAgent** by calling **wantAgent.trigger** directly or by adding it to a notification so that it is triggered when a user taps the notification. - -You can use a **WantAgent** in a notification to start an ability or publish a common event. - -### When to Use -Start another ability through a **WantAgent**. - -### Available APIs +## Available APIs | API | Description| | ---------------------------------------------------------------------------------------------- | ----------- | -| wantAgent.getWantAgentInfo(info: WantAgentInfo, callback: AsyncCallback\) | Creates a **WantAgent** object. This API uses an asynchronous callback to return the result.| -| wantAgent.getWantAgent(info: WantAgentInfo): Promise\; | Creates a **WantAgent** object. This API uses a promise to return the result.| -| commonEvent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback\) | Triggers a **WantAgent**.| +| getWantAgentInfo(info: WantAgentInfo, callback: AsyncCallback\) | Creates a **WantAgent** object. This API uses an asynchronous callback to return the result.| +| getWantAgent(info: WantAgentInfo): Promise\ | Creates a **WantAgent** object. This API uses a promise to return the result.| +| trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback\) | Triggers a **WantAgent** object.| -### How to Develop +## How to Develop 1. Import the **WantAgent** module. -```javascript -import wantAgent from '@ohos.wantAgent'; -``` + ``` + import wantAgent from '@ohos.wantAgent'; + ``` + +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). -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). + ``` + private wantAgentObj = null // Save the WantAgent object created. It will be used to complete the trigger operations. + + //wantAgentInfo + var wantAgentInfo = { + wants: [ + { + deviceId: "", + bundleName: "com.example.test", + abilityName: "com.example.test.MainAbility", + action: "", + entities: [], + uri: "", + parameters: {} + } + ], + operationType: wantAgent.OperationType.START_ABILITY, + requestCode: 0, + wantAgentFlags:[wantAgent.WantAgentFlags.CONSTANT_FLAG] + } + ``` -```javascript -private wantAgentObj = null // Save the WantAgent object created. It will be used to complete the trigger operations. +3. Create a **WantAgentInfo** object for publishing a common event. -//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 // 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, + 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. -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 - } -}) -``` + ``` + // Create a WantAgent object. + 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. Trigger the **WantAgent**. +5. Trigger the **WantAgent** object. -``` -// Trigger the 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 + ``` + // Trigger the WantAgent object. + var triggerInfo = { + code:0 + } + wantAgent.trigger(wantAgentObj, triggerInfo, (completeData) => { + console.log("[WantAgent]getWantAgent success, completeData: ", + JSON.stringify(completeData)) + }) + ```