• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2
3Notification开发指南
4
5#### 简介
6
7OpenHarmony通过ANS(Advanced Notification Service,通知系统服务)对通知类型的消息进行管理,支持多种通知类型,包括文本,长文本,多文本,图片,社交,媒体等。所有系统服务以及应用都可以通过通知接口发送通知消息,用户可以通过SystemUI查看所有通知消息。
8
9通知常见的使用场景:
10
11- 显示接收到短消息、即时消息等。
12- 显示应用的推送消息,如广告、版本更新等。
13- 显示当前正在进行的事件,如导航、下载等。
14
15
16
17#### 接口列表
18
19| API                                                          | 手机 | 平板 | 智慧屏 | 智能穿戴 |
20| ------------------------------------------------------------ | ---- | ---- | ------ | -------- |
21| Notification.publish(request: NotificationRequest, callback: AsyncCallback<void>) | 支持 | 支持 | 支持   | 支持     |
22| Notification.publish(request: NotificationRequest)           | 支持 | 支持 | 支持   | 支持     |
23| Notification.cancel(id: number, label: string, callback: AsyncCallback<void>) | 支持 | 支持 | 支持   | 支持     |
24| Notification.cancel(id:number, label?:string)            | 支持 | 支持 | 支持   | 支持     |
25| Notification.cancel(id: number, callback: AsyncCallback<void>) | 支持 | 支持 | 支持   | 支持     |
26| Notification.cancelAll(callback: AsyncCallback<void>)        | 支持 | 支持 | 支持   | 支持     |
27| Notification.cancelAll()                                     | 支持 | 支持 | 支持   | 支持     |
28| Notification.addSlot(type: SlotType, callback: AsyncCallback<void>) | 支持 | 支持 | 支持   | 支持     |
29| Notification.addSlot(type: SlotType)                         | 支持 | 支持 | 支持   | 支持     |
30| Notification.getSlot(slotType: SlotType, callback: AsyncCallback<NotificationSlot>) | 支持 | 支持 | 支持   | 支持     |
31| Notification.getSlot(slotType: SlotType)                     | 支持 | 支持 | 支持   | 支持     |
32| Notification.getSlots(callback: AsyncCallback<Array<NotificationSlot>>) | 支持 | 支持 | 支持   | 支持     |
33| Notification.getSlots()                                      | 支持 | 支持 | 支持   | 支持     |
34| Notification.removeSlot(slotType: SlotType, callback: AsyncCallback<void>) | 支持 | 支持 | 支持   | 支持     |
35| Notification.removeSlot(slotType: SlotType)                  | 支持 | 支持 | 支持   | 支持     |
36| Notification.removeAllSlots(callback: AsyncCallback<void>): void | 支持 | 支持 | 支持   | 支持     |
37| Notification.removeAllSlots(): Promise<void>                 | 支持 | 支持 | 支持   | 支持     |
38| Notification.getActiveNotificationCount(callback: AsyncCallback<number>) | 支持 | 支持 | 支持   | 支持     |
39| Notification.getActiveNotificationCount()                    | 支持 | 支持 | 支持   | 支持     |
40| Notification.getActiveNotifications(callback: AsyncCallback<Array<NotificationRequest>>) | 支持 | 支持 | 支持   | 支持     |
41| Notification.getActiveNotifications()                        | 支持 | 支持 | 支持   | 支持     |
42| WantAgent.getWantAgent(info: WantAgentInfo, callback: AsyncCallback<WantAgent>) | 支持 | 支持 | 支持   | 支持     |
43| WantAgent.getWantAgent(info: WantAgentInfo): Promise<WantAgent> | 支持 | 支持 | 支持   | 支持     |
44| WantAgent.getBundleName(agent: WantAgent, callback: AsyncCallback<string>) | 支持 | 支持 | 支持   | 支持     |
45| WantAgent.getBundleName(agent: WantAgent): Promise<string>   | 支持 | 支持 | 支持   | 支持     |
46| WantAgent.getUid(agent: WantAgent, callback: AsyncCallback<number>) | 支持 | 支持 | 支持   | 支持     |
47| WantAgent.getUid(agent: WantAgent): Promise<number>          | 支持 | 支持 | 支持   | 支持     |
48| WantAgent.cancel(agent: WantAgent, callback: AsyncCallback<void>) | 支持 | 支持 | 支持   | 支持     |
49| WantAgent.cancel(agent: WantAgent): Promise<void>            | 支持 | 支持 | 支持   | 支持     |
50| WantAgent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback<CompleteData>) | 支持 | 支持 | 支持   | 支持     |
51| WantAgent.equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback<boolean>) | 支持 | 支持 | 支持   | 支持     |
52| WantAgent.equal(agent: WantAgent, otherAgent: WantAgent): Promise<boolean> | 支持 | 支持 | 支持   | 支持     |
53
54
55
56#### Notification接口
57
58##### 导入模块
59
60```js
61import Notification from '@ohos.notification';
62```
63
64
65
66##### NotificationSlot类型说明
67
68NotificationSlot可以对提示音、振动等进行设置。一个应用可以创建一个或多个NotificationSlot,在发布通知时,通过绑定不同的NotificationSlot,实现不同用途。
69
70| 名称                 | 读写属性 | 类型          | 必填 | 描述                         |
71| -------------------- | -------- | ------------- | ---- | ---------------------------- |
72| type                 | 读、写   | SlotType      | 是   | 通道类型                     |
73| level                | 读、写   | SlotLevel     | 否   | 通知级别                     |
74| desc                 | 读、写   | string        | 否   | 通知渠道描述信息             |
75| badgeFlag            | 读、写   | boolean       | 否   | 是否显示角标                 |
76| bypassDnd            | 读、写   | boolean       | 否   | 置是否在系统中绕过免打扰模式 |
77| lockscreenVisibility | 读、写   | boolean       | 否   | 在锁定屏幕上显示通知的模式   |
78| vibrationEnabled     | 读、写   | boolean       | 否   | 是否可振动                   |
79| sound                | 读、写   | string        | 否   | 通知提示音                   |
80| lightEnabled         | 读、写   | boolean       | 否   | 是否闪灯                     |
81| lightColor           | 读、写   | number        | 否   | 通知灯颜色                   |
82| vibrationValues      | 读、写   | Array<number> | 否   | 通知振动样式                 |
83
84- SlotType类型说明
85
86| 名称                 | 读写属性 | 类型 | 描述     |
87| -------------------- | -------- | ---- | -------- |
88| SOCIAL_COMMUNICATION | 只读     | enum | 社交类型 |
89| SERVICE_INFORMATION  | 只读     | enum | 服务类型 |
90| CONTENT_INFORMATION  | 只读     | enum | 内容类型 |
91| OTHER_TYPES          | 只读     | enum | 其他类型 |
92
93- SlotLevel类型说明
94
95| 名称          | 读写属性 | 类型 | 描述                                                         |
96| ------------- | -------- | ---- | ------------------------------------------------------------ |
97| LEVEL_NONE    | 只读     | enum | 表示通知不发布                                               |
98| LEVEL_MIN     | 只读     | enum | 表示通知可以发布,但不在状态栏显示,不自动弹出,无提示音;该级别不适用于前台服务的场景 |
99| LEVEL_LOW     | 只读     | enum | 表示通知发布后在状态栏显示,不自动弹出,无提示音             |
100| LEVEL_DEFAULT | 只读     | enum | 表示通知发布后在状态栏显示,不自动弹出,触发提示音           |
101| LEVEL_HIGH    | 只读     | enum | 表示通知发布后在状态栏显示,自动弹出,触发提示音             |
102
103
104
105##### NotificationRequest类型说明
106
107NotificationRequest用于设置具体的通知对象,包括设置通知的属性,如:通知的分发时间、小图标、大图标、自动删除等参数,以及设置具体的通知类型,如普通文本、长文本等。
108
109| 名称              | 读写属性 | 类型                            | 必填 | 描述                       |
110| ----------------- | -------- | ------------------------------- | ---- | -------------------------- |
111| content           | 读、写   | NotificationContent             | 是   | 通知内容                   |
112| id                | 读、写   | number                          | 否   | 通知ID                     |
113| slotType          | 读、写   | SlotType                        | 否   | 通道类型                   |
114| isOngoing         | 读、写   | boolean                         | 否   | 是否进行时通知             |
115| isUnremovable     | 读、写   | boolean                         | 否   | 是否可移除                 |
116| deliveryTime      | 读、写   | number                          | 否   | 通知发送时间               |
117| tapDismissed      | 读、写   | boolean                         | 否   | 通知是否自动清除           |
118| autoDeletedTime   | 读、写   | number                          | 否   | 自动清除的时间             |
119| wantAgent         | 读、写   | WantAgent                       | 否   | 点击跳转的WantAgent        |
120| extraInfo         | 读、写   | {[key: string]: any}            | 否   | 扩展参数                   |
121| color             | 读、写   | number                          | 否   | 通知背景颜色               |
122| colorEnabled      | 读、写   | boolean                         | 否   | 通知背景颜色是否使能       |
123| isAlertOnce       | 读、写   | boolean                         | 否   | 设置是否仅有一次此通知警报 |
124| isStopwatch       | 读、写   | boolean                         | 否   | 是否显示已用时间           |
125| isCountDown       | 读、写   | boolean                         | 否   | 是否显示倒计时时间         |
126| isFloatingIcon    | 读、写   | boolean                         | 否   | 是否显示状态栏图标         |
127| isFloatingIcon    | 读、写   | boolean                         | 否   | 是否显示状态栏图标         |
128| label             | 读、写   | string                          | 否   | 通知标签                   |
129| badgeIconStyle    | 读、写   | number                          | 否   | 通知角标类型               |
130| showDeliveryTime  | 读、写   | boolean                         | 否   | 是否显示分发时间           |
131| actionButtons     | 读、写   | Array<NotificationActionButton> | 否   | 通知按钮,最多两个按钮     |
132| smallIcon         | 读、写   | PixelMap                        | 否   | 通知小图标                 |
133| largeIcon         | 读、写   | PixelMap                        | 否   | 通知大图标                 |
134| creatorBundleName | 只读     | string                          | 否   | 创建通知的包名             |
135| creatorUid        | 只读     | number                          | 否   | 创建通知的UID              |
136| creatorPid        | 只读     | number                          | 否   | 创建通知的PID              |
137| hashCode          | 只读     | string                          | 否   | 通知唯一标识               |
138
139- NotificationContent类型说明
140
141
142| 名称        | 读写属性 | 类型                         | 必填 | 描述                 |
143| ----------- | -------- | ---------------------------- | ---- | -------------------- |
144| contentType | 读、写   | ContentType                  | 是   | 通知内容类型         |
145| normal      | 读、写   | NotificationBasicContent     | 否   | 普通类型通知内容     |
146| longText    | 读、写   | NotificationLongTextContent  | 否   | 长文本类型通知内容   |
147| multiLine   | 读、写   | NotificationMultiLineContent | 否   | 多行文本类型通知内容 |
148| picture     | 读、写   | NotificationPictureContent   | 否   | 图片类型通知内容     |
149
150- ContentType类型说明
151
152| 名称                              | 读写属性 | 类型 | 描述             |
153| --------------------------------- | -------- | ---- | ---------------- |
154| NOTIFICATION_CONTENT_BASIC_TEXT   | 只读     | enum | 普通类型通知     |
155| NOTIFICATION_CONTENT_LONG_TEXT    | 只读     | enum | 长文本类型通知   |
156| NOTIFICATION_CONTENT_PICTURE      | 只读     | enum | 图片类型通知     |
157| NOTIFICATION_CONTENT_CONVERSATION | 只读     | enum | 社交类型通知     |
158| NOTIFICATION_CONTENT_MULTILINE    | 只读     | enum | 多行文本类型通知 |
159
160- NotificationBasicContent类型说明
161
162| 名称           | 读写属性 | 类型   | 必填 | 描述                             |
163| -------------- | -------- | ------ | ---- | -------------------------------- |
164| title          | 读、写   | string | 是   | 通知标题                         |
165| text           | 读、写   | string | 是   | 通知内容                         |
166| additionalText | 读、写   | string | 是   | 通知次要内容,是对通知内容的补充 |
167
168- NotificationLongTextContent类型说明
169
170| 名称          | 读写属性 | 类型   | 必填 | 描述                   |
171| ------------- | -------- | ------ | ---- | ---------------------- |
172| title          | 读、写   | string | 是   | 通知标题                         |
173| text           | 读、写   | string | 是   | 通知内容                         |
174| additionalText | 读、写   | string | 是   | 通知次要内容,是对通知内容的补充 |
175| longText      | 读、写   | string | 是   | 通知的长文本 |
176| briefText     | 读、写   | string | 是   | 通知概要内容,是对通知内容的总结 |
177| expandedTitle | 读、写   | string | 是   | 通知展开时的标题 |
178
179- NotificationMultiLineContent类型说明
180
181| 名称      | 读写属性 | 类型          | 必填 | 描述                   |
182| --------- | -------- | ------------- | ---- | ---------------------- |
183| title          | 读、写   | string | 是   | 通知标题                         |
184| text           | 读、写   | string | 是   | 通知内容                         |
185| additionalText | 读、写   | string | 是   | 通知次要内容,是对通知内容的补充 |
186| briefText | 读、写   | string        | 是   | 通知概要内容,是对通知内容的总结 |
187| longTitle | 读、写   | string        | 是   | 通知展开时的标题 |
188| lines     | 读、写   | Array<String> | 是   | 通知的多行文本 |
189
190- NotificationPictureContent类型说明
191
192| 名称           | 读写属性 | 类型           | 必填 | 描述                             |
193| -------------- | -------- | -------------- | ---- | -------------------------------- |
194| title          | 读、写   | string         | 是   | 通知标题                         |
195| text           | 读、写   | string         | 是   | 通知内容                         |
196| additionalText | 读、写   | string         | 是   | 通知次要内容,是对通知内容的补充 |
197| briefText      | 读、写   | string         | 是   | 通知概要内容,是对通知内容的总结 |
198| expandedTitle  | 读、写   | string         | 是   | 通知展开时的标题                 |
199| picture        | 读、写   | image.PixelMap | 是   | 通知的图片内容                   |
200
201- NotificationActionButton类型说明
202
203| 名称      | 读写属性 | 类型           | 必填 | 描述                      |
204| --------- | -------- | -------------- | ---- | ------------------------- |
205| title     | 读、写   | string         | 是   | 按钮标题                  |
206| wantAgent | 读、写   | wantAgent      | 是   | 点击按钮时触发的WantAgent |
207| extras    | 读、写   | Array<String>  | 否   | 按钮扩展信息              |
208| icon      | 读、写   | image.PixelMap | 否   | 按钮图标                  |
209
210
211
212##### 创建通知通道
213
214- 创建通知通道(callback形式)
215
216  Notification.addSlot(type: SlotType, callback: AsyncCallback<void>)
217
218  - 参数描述
219
220  | 名称     | 读写属性 | 类型                | 必填 | 描述                   |
221  | -------- | -------- | ------------------- | ---- | ---------------------- |
222  | type     | 只读     | SlotType            | 是   | 要创建的通知通道的类型 |
223  | callback | 只读     | AsyncCallback<void> | 是   | 表示被指定的回调方法   |
224
225  - 返回值
226
227    void
228
229  - 示例代码
230
231  ```js
232  //addslot回调
233  function addSlotCallBack(err) {
234  	console.info("==========================>addSlotCallBack=======================>");
235  }
236  Notification.addSlot(SOCIAL_COMMUNICATION, addSlotCallBack)
237  ```
238
239
240
241- 创建通知通道(Promise形式)
242
243  Notification.addSlot(type: SlotType)
244
245  - 参数描述
246
247  | 名称 | 读写属性 | 类型     | 必填 | 描述                   |
248  | ---- | -------- | -------- | ---- | ---------------------- |
249  | type | 只读     | SlotType | 是   | 要创建的通知通道的类型 |
250
251  - 返回值
252
253    Promise<**void**>
254
255  - 示例代码
256
257  ```js
258  Notification.addSlot(SOCIAL_COMMUNICATION).then((void) => {
259  	console.info("==========================>addSlotCallback=======================>");
260  });
261  ```
262
263
264
265##### 获取通知通道
266
267- 获取一个通知通道(callback形式)
268
269  Notification.getSlot(slotType: SlotType, callback: AsyncCallback<NotificationSlot>)
270
271  - 参数描述
272
273  | 名称     | 读写属性 | 类型                            | 必填 | 描述                                                        |
274  | -------- | -------- | ------------------------------- | ---- | ----------------------------------------------------------- |
275  | slotType | 只读     | slotType                        | 是   | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |
276  | callback | 只读     | AsyncCallback<NotificationSlot> | 是   | 表示被指定的回调方法                                        |
277
278  - 返回值
279
280    void
281
282  - 示例代码
283
284  ```js
285  //getSlot回调
286  function getSlotCallback(err,data) {
287  	console.info("==========================>getSlotCallback=======================>");
288  }
289  var slotType = SOCIAL_COMMUNICATION;
290  Notification.getSlot(slotType, getSlotCallback)
291  ```
292
293
294
295- 获取一个通知通道(Promise形式)
296
297  Notification.getSlot(slotType)
298
299  - 参数描述
300
301  | 名称     | 读写属性 | 类型     | 必填 | 描述                                                        |
302  | -------- | -------- | -------- | ---- | ----------------------------------------------------------- |
303  | slotType | 只读     | slotType | 是   | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |
304
305  - 返回值
306
307    Promise<NotificationSlot>
308
309  - 示例代码
310
311  ```js
312  var slotType = SOCIAL_COMMUNICATION;
313  Notification.getSlot(slotType).then((data) => {
314  	console.info("==========================>getSlotCallback=======================>");
315  });
316  ```
317
318
319
320- 获取本应用程序的所有通知通道(callback形式)
321
322  Notification.getSlots(callback: AsyncCallback<Array<NotificationSlot>>)
323
324  - 参数描述
325
326  | 名称     | 读写属性 | 类型                            | 必填 | 描述                 |
327  | -------- | -------- | ------------------------------- | ---- | -------------------- |
328  | callback | 只读     | AsyncCallback<NotificationSlot> | 是   | 表示被指定的回调方法 |
329
330  - 返回值
331
332    void
333
334  - 示例代码
335
336  ```js
337  //getSlots回调
338  function getSlotsCallback(err,data) {
339  	console.info("==========================>getSlotsCallback=======================>");
340  }
341  Notification.getSlots(getSlotsCallback)
342  ```
343
344
345
346- 获取此应用程序的所有通知通道(Promise形式)
347
348  Notification.getSlots()
349
350  - 参数描述
351
352    无参数
353
354  - 返回值
355
356    Promise<Array<NotificationSlot>>
357
358  - 示例代码
359
360  ```js
361  Notification.getSlots().then((data) => {
362  	console.info("==========================>getSlotsCallback=======================>");
363  });
364  ```
365
366
367
368##### 删除通知通道
369
370- 根据通知通道类型删除通知通道(callback形式)
371
372  Notification.removeSlot(slotType: SlotType, callback: AsyncCallback<void>)
373
374  - 参数描述
375
376  | 名称     | 读写属性 | 类型                | 必填 | 描述                                                        |
377  | -------- | -------- | ------------------- | ---- | ----------------------------------------------------------- |
378  | SlotType | 只读     | SlotType            | 是   | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |
379  | callback | 只读     | AsyncCallback<void> | 是   | 表示被指定的回调方法                                        |
380
381  - 返回值
382
383    void
384
385  - 示例代码
386
387  ```js
388  //removeSlot回调
389  function removeSlotCallback(err) {
390  	console.info("==========================>removeSlotCallback=======================>");
391  }
392  var slotType = SOCIAL_COMMUNICATION;
393  Notification.removeSlot(slotType, removeSlotCallback)
394  ```
395
396
397
398- 根据通知通道类型删除通知通道(Promise形式)
399
400  Notification.removeSlot(slotType: SlotType)
401
402  - 参数描述
403
404  | 名称     | 读写属性 | 类型     | 必填 | 描述                                                        |
405  | -------- | -------- | -------- | ---- | ----------------------------------------------------------- |
406  | SlotType | 只读     | SlotType | 是   | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |
407
408  - 返回值
409
410    Promise<**void**>
411
412  - 示例代码
413
414  ```js
415  var slotType = SOCIAL_COMMUNICATION;
416  Notification.removeSlot(slotType).then((void) => {
417  	console.info("==========================>removeSlotCallback=======================>");
418  });
419  ```
420
421
422
423- 删除所有通知通道(callback形式)
424
425  Notification.removeAllSlots(callback: AsyncCallback<void>)
426
427  - 参数描述
428
429  | 名称     | 读写属性 | 类型                | 必填 | 描述                 |
430  | -------- | -------- | ------------------- | ---- | -------------------- |
431  | callback | 只读     | AsyncCallback<void> | 是   | 表示被指定的回调方法 |
432
433  - 返回值
434
435    void
436
437  - 示例代码
438
439  ```js
440  function removeAllSlotsCallBack(err) {
441  	console.info("================>removeAllSlotsCallBack=======================>");
442  }
443  Notification.removeAllSlots(removeAllCallBack)
444  ```
445
446
447
448- 删除所有通知通道(Promise形式)
449
450  Notification.removeAllSlots()
451
452  - 参数描述
453
454    无参数
455
456  - 返回值
457
458    Promise<**void**>
459
460  - 示例代码
461
462  ```js
463  Notification.removeAllSlots().then((void) => {
464  	console.info("==========================>removeAllSlotsCallBack=======================>");
465  });
466  ```
467
468
469
470##### 发布通知
471
472- 发布通知(callback形式)
473
474  Notification.publish(request: NotificationRequest, callback: AsyncCallback<void>)
475
476  - 参数描述
477
478  | 名称     | 读写属性 | 类型                | 必填 | 描述                                        |
479  | -------- | -------- | ------------------- | ---- | ------------------------------------------- |
480  | request  | 只读     | NotificationRequest | 是   | 设置要发布通知内容的NotificationRequest对象 |
481  | callback | 只读     | AsyncCallback<void> | 是   | 被指定的回调方法                            |
482
483  - 返回值
484
485    void
486
487  - 示例代码
488
489  ```js
490  //publish回调
491  function publishCallback(err) {
492  		console.info("==========================>publishCallback=======================>");
493  }
494  //通知Request对象
495  var request = {
496    	id: 1,
497    	content: {
498    		contentType: notify.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
499    		normal: {
500    			title: "test_title",
501    			text: "test_text",
502    			additionalText: "test_additionalText"
503    		}
504    	}
505  }
506  Notification.publish(request, publishCallback);
507  ```
508
509
510
511
512- 发布通知(Promise形式)
513
514  Notification.publish(request: NotificationRequest)
515
516  - 参数描述
517
518  | 名称    | 读写属性 | 类型                | 必填 | 描述                                        |
519  | ------- | -------- | ------------------- | ---- | ------------------------------------------- |
520  | request | 只读     | NotificationRequest | 是   | 设置要发布通知内容的NotificationRequest对象 |
521
522  - 返回值
523
524    Promise<**void**>
525
526  - 示例代码
527
528  ```js
529  //通知Request对象
530  var notificationRequest = {
531  	notificationId: 1,
532  	content: {
533  		contentType: notify.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
534  		normal: {
535  			title: "test_title",
536  			text: "test_text",
537  			additionalText: "test_additionalText"
538  		}
539  	}
540  }
541  Notification.publish(notificationRequest).then((void) => {
542	console.info("==========================>publishCallback=======================>");
543  });
544  ```
545
546
547
548##### 取消通知
549
550- 取消指定通知(callback形式)
551
552  Notification.cancel(id: number, label: string, callback: AsyncCallback<void>)
553
554  - 参数描述
555
556  | 名称     | 读写属性 | 类型                | 必填 | 描述                 |
557  | -------- | -------- | ------------------- | ---- | -------------------- |
558  | id       | 只读     | number              | 是   | 通知ID               |
559  | lable    | 只读     | string              | 是   | 通知标签             |
560  | callback | 只读     | AsyncCallback<void> | 是   | 表示被指定的回调方法 |
561
562  - 返回值
563
564    void
565
566  - 示例代码
567
568  ```js
569  //cancel回调
570  function cancelCallback(err) {
571  	console.info("==========================>cancelCallback=======================>");
572  }
573  Notification.cancel(0, "label", cancelCallback)
574  ```
575
576
577
578- 取消指定通知(Promise形式)
579
580  Notification.cancel(id:number, label?:string)
581
582  - 参数描述
583
584  | 名称  | 读写属性 | 类型   | 必填 | 描述     |
585  | ----- | -------- | ------ | ---- | -------- |
586  | id    | 只读     | number | 是   | 通知ID   |
587  | lable | 只读     | string | 是   | 通知标签 |
588
589  - 返回值
590
591    Promise<**void**>
592
593  - 示例代码
594
595  ```js
596  Notification.cancel(0).then((void) => {
597  	console.info("==========================>cancelCallback=======================>");
598  });
599  ```
600
601
602
603- 取消指定id通知(callback形式)
604
605  Notification.cancel(id: number, callback: AsyncCallback<void>)
606
607  - 参数描述
608
609  | 名称     | 读写属性 | 类型                | 必填 | 描述                 |
610  | -------- | -------- | ------------------- | ---- | -------------------- |
611  | id       | 只读     | number              | 是   | 通知ID               |
612  | callback | 只读     | AsyncCallback<void> | 是   | 表示被指定的回调方法 |
613
614  - 返回值
615
616    void
617
618  - 示例代码
619
620  ```js
621  //cancel回调
622  function cancelCallback(err) {
623  	console.info("==========================>cancelCallback=======================>");
624  }
625  Notification.cancel(0, cancelCallback)
626  ```
627
628
629
630- 取消所有已发布的通知(callback形式)
631
632  Notification.cancelAll(callback: AsyncCallback<void>)
633
634  - 参数描述
635
636  | 名称     | 读写属性 | 类型                | 必填 | 描述                 |
637  | -------- | -------- | ------------------- | ---- | -------------------- |
638  | callback | 只读     | AsyncCallback<void> | 是   | 表示被指定的回调方法 |
639
640  - 返回值
641
642    void
643
644  - 示例代码
645
646  ```js
647  //cancel回调
648  function cancelAllback(err) {
649  	console.info("==========================>cancelAllback=======================>");
650  }
651  Notification.cancelAll(cancelCallback)
652  ```
653
654
655
656- 取消所有已发布的通知(Promise形式)
657
658  Notification.cancelAll()
659
660  - 参数描述
661
662    无参数
663
664  - 返回值
665
666    Promise<void>
667
668  - 示例代码
669
670  ```js
671  Notification.cancelAll().then((void) => {
672		console.info("==========================>cancelAllback=======================>");
673  });
674  ```
675
676
677
678##### 获取当前应用活动通知
679
680- 获取当前应用的活动通知数(Callback形式)
681
682  Notification.getActiveNotificationCount(callback: AsyncCallback<**number**>)
683
684  - 参数描述
685
686  | 名称     | 读写属性 | 类型                      | 必填 | 描述                   |
687  | -------- | -------- | ------------------------- | ---- | ---------------------- |
688  | callback | 只读     | AsyncCallback<**number**> | 是   | 获取活动通知数回调函数 |
689
690  - 返回值
691
692    void
693
694  - 示例代码
695
696  ```js
697  function getActiveNotificationCountCallback(err, data) {
698  	console.info("==========================>getActiveNotificationCountCallback=======================>");
699  }
700  Notification.getActiveNotificationCount(getActiveNotificationCountCallback);
701  ```
702
703
704
705- 获取当前应用的活动通知数(Promise形式)
706
707  Notification.getActiveNotificationCount()
708
709  - 参数描述
710
711712
713  - 返回值
714
715    Promise<**number**>
716
717  - 示例代码
718
719  ```js
720  Notification.getActiveNotificationCount().then((data) => {
721  	console.info("==========================>getActiveNotificationCountCallback=======================>");
722  });
723  ```
724
725
726
727- 获取当前应用的活动通知(Callback形式)
728
729  Notification.getActiveNotifications(callback: AsyncCallback<Array<NotificationRequest>>)
730
731  - 参数描述
732
733  | 名称     | 读写属性 | 类型                                      | 必填 | 描述                           |
734  | -------- | -------- | ----------------------------------------- | ---- | ------------------------------ |
735  | callback | 只读     | AsyncCallback<Array<NotificationRequest>> | 是   | 获取当前应用的活动通知回调函数 |
736
737  - 返回值
738
739    void
740
741  - 示例代码
742
743  ```js
744  function getActiveNotificationsCallback(err, data) {
745  	console.info("==========================>getActiveNotificationsCallback=======================>");
746  }
747  Notification.getActiveNotifications(getActiveNotificationsCallback);
748  ```
749
750
751
752- 获取当前应用的活动通知(Promise形式)
753
754  Notification.getActiveNotifications()
755
756  - 参数描述
757
758759
760  - 返回值
761
762    Promise<Array<NotificationRequest>>
763
764  - 示例代码
765
766  ```js
767  Notification.getActiveNotifications().then((data) => {
768  	console.info("==========================>getActiveNotificationsCallback=======================>");
769  });
770  ```
771
772
773
774#### WantAgent接口
775
776##### 导入模块
777
778```js
779import WantAgent from '@ohos.wantAgent';
780```
781
782
783
784##### WantAgentInfo类型说明
785
786WantAgentInfo类封装了获取一个WantAgent实例所需的数据。
787
788| 名称           | 读写属性 | 类型                            | 必填 | 描述                   |
789| -------------- | -------- | ------------------------------- | ---- | ---------------------- |
790| wants          | 读、写   | Array<Want>                     | 是   | 将被执行的动作列表     |
791| operationType  | 读、写   | wantAgent.OperationType         | 是   | 动作类型               |
792| requestCode    | 读、写   | number                          | 是   | 使用者定义的一个私有值 |
793| wantAgentFlags | 读、写   | Array<wantAgent.WantAgentFlags> | 否   | 动作执行属性           |
794| extraInfo      | 读、写   | {[key: string]: any}            | 否   | 额外数据               |
795
796- OperationType类型说明
797
798| 名称              | 读写属性 | 类型 | 描述                    |
799| ----------------- | -------- | ---- | ----------------------- |
800| UNKNOWN_TYPE      | 只读     | enum | 不识别的类型            |
801| START_ABILITY     | 只读     | enum | 开启一个有页面的Ability |
802| START_ABILITIES   | 只读     | enum | 开启多个有页面的Ability |
803| START_SERVICE     | 只读     | enum | 开启一个无页面的ability |
804| SEND_COMMON_EVENT | 只读     | enum | 发送一个公共事件        |
805
806- WantAgentFlags类型说明
807
808
809| 名称                | 读写属性 | 类型 | 描述                                                         |
810| ------------------- | -------- | ---- | ------------------------------------------------------------ |
811| ONE_TIME_FLAG       | 只读     | enum | WantAgent仅能使用一次                                        |
812| NO_BUILD_FLAG       | 只读     | enum | 如果描述WantAgent对象不存在,则不创建它,直接返回null        |
813| CANCEL_PRESENT_FLAG | 只读     | enum | 在生成一个新的WantAgent对象前取消已存在的一个WantAgent对象   |
814| UPDATE_PRESENT_FLAG | 只读     | enum | 使用新的WantAgent的额外数据替换已存在的WantAgent中的额外数据 |
815| CONSTANT_FLAG       | 只读     | enum | WantAgent是不可变的                                          |
816| REPLACE_ELEMENT     | 只读     | enum | 当前Want中的element属性可被WantAgent.trigger()中Want的element属性取代 |
817| REPLACE_ACTION      | 只读     | enum | 当前Want中的action属性可被WantAgent.trigger()中Want的action属性取代 |
818| REPLACE_URI         | 只读     | enum | 当前Want中的uri属性可被WantAgent.trigger()中Want的uri属性取代 |
819| REPLACE_ENTITIES    | 只读     | enum | 当前Want中的entities属性可被WantAgent.trigger()中Want的entities属性取代 |
820| REPLACE_BUNDLE      | 只读     | enum | 当前Want中的bundleName属性可被WantAgent.trigger()中Want的bundleName属性取代 |
821
822
823
824##### TriggerInfo类型说明
825
826TriggerInfo类封装了主动激发一个WantAgent实例所需的数据。
827
828| 名称       | 读写属性 | 类型                 | 必填 | 描述        |
829| ---------- | -------- | -------------------- | ---- | ----------- |
830| code       | 读、写   | number               | 是   | result code |
831| want       | 读、写   | Want                 | 否   | Want        |
832| permission | 读、写   | string               | 否   | 权限定义    |
833| extraInfo  | 读、写   | {[key: string]: any} | 否   | 额外数据    |
834
835
836
837##### 创建WantAgent
838
839- 创建WantAgent(callback形式)
840
841  WantAgent.getWantAgent(info: WantAgentInfo, callback: AsyncCallback<WantAgent>)
842
843  - 参数描述
844
845  | 名称     | 读写属性 | 类型                     | 必填 | 描述                    |
846  | -------- | -------- | ------------------------ | ---- | ----------------------- |
847  | info     | 只读     | WantAgentInfo            | 是   | WantAgent信息           |
848  | callback | 只读     | AsyncCallback<WantAgent> | 是   | 创建WantAgent的回调方法 |
849  - 返回值
850
851    void
852
853  - 示例代码
854
855  ```js
856  import wantAgent from '@ohos.wantAgent';
857  import { OperationType, Flags } from '@ohos.wantagent';
858  //getWantAgent回调
859  function getWantAgentCallback(err, data) {
860      console.info("==========================>getWantAgentCallback=======================>");
861  }
862  //WantAgentInfo对象
863  var wantAgentInfo = {
864  	wants: [
865  		{
866  			deviceId: "deviceId",
867  			bundleName: "com.neu.setResultOnAbilityResultTest1",
868  			abilityName: "com.example.test.MainAbility",
869  			action: "action1",
870  			entities: ["entity1"],
871  			type: "MIMETYPE",
872  			uri: "key={true,true,false}",
873  			parameters:
874  			{
875  				mykey0: 2222,
876  				mykey1: [1, 2, 3],
877  				mykey2: "[1, 2, 3]",
878  				mykey3: "ssssssssssssssssssssssssss",
879  				mykey4: [false, true, false],
880  				mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
881  				mykey6: true,
882  			}
883  		}
884  	],
885  	operationType: OperationType.START_ABILITIES,
886  	requestCode: 0,
887  	wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
888  }
889  wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
890  ```
891
892
893
894- 创建WantAgent(Promise形式)
895
896  WantAgent.getWantAgent(info: WantAgentInfo): Promise<WantAgent>
897
898  - 参数描述
899
900  | 名称 | 读写属性 | 类型          | 必填 | 描述          |
901  | ---- | -------- | ------------- | ---- | ------------- |
902  | info | 只读     | WantAgentInfo | 是   | WantAgent信息 |
903  - 返回值
904
905    Promise<WantAgent>
906
907  - 示例代码
908
909  ```js
910  import wantAgent from '@ohos.wantAgent';
911  import { OperationType, Flags } from '@ohos.wantagent';
912  //WantAgentInfo对象
913  var wantAgentInfo = {
914  	wants: [
915  		{
916  			deviceId: "deviceId",
917  			bundleName: "com.neu.setResultOnAbilityResultTest1",
918  			abilityName: "com.example.test.MainAbility",
919  			action: "action1",
920  			entities: ["entity1"],
921  			type: "MIMETYPE",
922  			uri: "key={true,true,false}",
923  			parameters:
924  			{
925  				mykey0: 2222,
926  				mykey1: [1, 2, 3],
927  				mykey2: "[1, 2, 3]",
928  				mykey3: "ssssssssssssssssssssssssss",
929  				mykey4: [false, true, false],
930  				mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
931  				mykey6: true,
932  			}
933  		}
934  	],
935  	operationType: OperationType.START_ABILITIES,
936  	requestCode: 0,
937  	wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
938  }
939  wantAgent.getWantAgent(wantAgentInfo).then((data) => {
940		console.info("==========================>getWantAgentCallback=======================>");
941  });
942  ```
943
944
945
946##### 获取WantAgent实例的包名
947
948- 获取WantAgent实例的包名(callback形式)
949
950  WantAgent.getBundleName(agent: WantAgent, callback: AsyncCallback<string>)
951
952  - 参数描述
953
954  | 名称     | 读写属性 | 类型                  | 必填 | 描述                                     |
955  | -------- | -------- | --------------------- | ---- | ---------------------------------------- |
956  | agent    | 只读     | WantAgent             | 是   | WantAgent对象                            |
957  | callback | 只读     | AsyncCallback<string> | 是   | 获取WantAgent指定的bundle name的回调方法 |
958
959  - 返回值
960
961    void
962
963  - 示例代码
964
965  ```js
966  import wantAgent from '@ohos.wantAgent';
967  import { OperationType, Flags } from '@ohos.wantagent';
968  //wantAgent对象
969  var WantAgent;
970  //getWantAgent回调
971  function getWantAgentCallback(err, data) {
972		console.info("==========================>getWantAgentCallback=======================>");
973  		if (err.code == 0) {
974  			WantAgent = data;
975  		} else {
976  			console.info('----getWantAgent failed!----');
977  	}
978  }
979  //WantAgentInfo对象
980  var wantAgentInfo = {
981  	wants: [
982  		{
983  			deviceId: "deviceId",
984  			bundleName: "com.neu.setResultOnAbilityResultTest1",
985  			abilityName: "com.example.test.MainAbility",
986  			action: "action1",
987  			entities: ["entity1"],
988  			type: "MIMETYPE",
989  			uri: "key={true,true,false}",
990  			parameters:
991  			{
992  				mykey0: 2222,
993  				mykey1: [1, 2, 3],
994  				mykey2: "[1, 2, 3]",
995  				mykey3: "ssssssssssssssssssssssssss",
996  				mykey4: [false, true, false],
997  				mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
998  				mykey6: true,
999  			}
1000  		}
1001  	],
1002  	operationType: OperationType.START_ABILITIES,
1003  	requestCode: 0,
1004  	wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
1005  }
1006  wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
1007  //getBundleName回调
1008  function getBundleNameCallback(err, data) {
1009		console.info("==========================>getBundleNameCallback=======================>");
1010  }
1011  wantAgent.getBundleName(WantAgent, getBundleNameCallback)
1012  ```
1013
1014
1015
1016- 获取WantAgent实例的包名(Promise形式)
1017
1018  WantAgent.getBundleName(agent: WantAgent): Promise<string>
1019
1020  - 参数描述
1021
1022  | 名称  | 读写属性 | 类型      | 必填 | 描述          |
1023  | ----- | -------- | --------- | ---- | ------------- |
1024  | agent | 只读     | WantAgent | 是   | WantAgent对象 |
1025  - 返回值
1026
1027    Promise<string>
1028
1029  - 示例代码
1030
1031  ```js
1032  import wantAgent from '@ohos.wantAgent';
1033  import { OperationType, Flags } from '@ohos.wantagent';
1034  //wantAgent对象
1035  var WantAgent;
1036  //WantAgentInfo对象
1037  var wantAgentInfo = {
1038      wants: [
1039          {
1040              deviceId: "deviceId",
1041              bundleName: "com.neu.setResultOnAbilityResultTest1",
1042              abilityName: "com.example.test.MainAbility",
1043              action: "action1",
1044              entities: ["entity1"],
1045              type: "MIMETYPE",
1046              uri: "key={true,true,false}",
1047              parameters:
1048              {
1049                  mykey0: 2222,
1050                  mykey1: [1, 2, 3],
1051                  mykey2: "[1, 2, 3]",
1052                  mykey3: "ssssssssssssssssssssssssss",
1053                  mykey4: [false, true, false],
1054                  mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
1055                  mykey6: true,
1056              }
1057          }
1058      ],
1059      operationType: OperationType.START_ABILITIES,
1060      requestCode: 0,
1061      wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
1062  }
1063  wantAgent.getWantAgent(wantAgentInfo).then((data) => {
1064  	console.info("==========================>getWantAgentCallback=======================>");
1065      WantAgent = data;
1066  });
1067  wantAgent.getBundleName(WantAgent).then((data) => {
1068  	console.info("==========================>getBundleNameCallback=======================>");
1069  });
1070  ```
1071
1072
1073
1074
1075##### 获取WantAgent实例的用户ID
1076
1077- 获取WantAgent实例的用户ID(callback形式)
1078
1079  WantAgent.getUid(agent: WantAgent, callback: AsyncCallback<number>)
1080
1081  - 参数描述
1082
1083  | 名称     | 读写属性 | 类型                  | 必填 | 描述                                |
1084  | -------- | -------- | --------------------- | ---- | ----------------------------------- |
1085  | agent    | 只读     | WantAgent             | 是   | WantAgent对象                       |
1086  | callback | 只读     | AsyncCallback<number> | 是   | 获取WantAgent实例的用户ID的回调方法 |
1087  - 返回值
1088
1089    void
1090
1091  - 示例代码
1092
1093  ```js
1094  import wantAgent from '@ohos.wantAgent';
1095  import { OperationType, Flags } from '@ohos.wantagent';
1096
1097  //wantAgent对象
1098  var WantAgent;
1099
1100  //getWantAgent回调
1101  function getWantAgentCallback(err, data) {
1102  	console.info("==========================>getWantAgentCallback=======================>");
1103      if (err.code == 0) {
1104      	WantAgent = data;
1105      } else {
1106          console.info('----getWantAgent failed!----');
1107      }
1108  }
1109  //WantAgentInfo对象
1110  var wantAgentInfo = {
1111      wants: [
1112          {
1113              deviceId: "deviceId",
1114              bundleName: "com.neu.setResultOnAbilityResultTest1",
1115              abilityName: "com.example.test.MainAbility",
1116              action: "action1",
1117              entities: ["entity1"],
1118              type: "MIMETYPE",
1119              uri: "key={true,true,false}",
1120              parameters:
1121              {
1122                  mykey0: 2222,
1123                  mykey1: [1, 2, 3],
1124                  mykey2: "[1, 2, 3]",
1125                  mykey3: "ssssssssssssssssssssssssss",
1126                  mykey4: [false, true, false],
1127                  mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
1128                  mykey6: true,
1129              }
1130          }
1131      ],
1132      operationType: OperationType.START_ABILITIES,
1133      requestCode: 0,
1134      wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
1135  }
1136
1137  wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
1138
1139  //getUid回调
1140  function getUidCallback(err, data) {
1141  	console.info("==========================>getUidCallback=======================>");
1142  }
1143  wantAgent.getUid(WantAgent, getUidCallback)
1144  ```
1145
1146
1147
1148- 获取WantAgent实例的用户ID(Promise形式)
1149
1150  WantAgent.getUid(agent: WantAgent): Promise<number>
1151
1152  - 参数描述
1153
1154  | 名称  | 读写属性 | 类型      | 必填 | 描述          |
1155  | ----- | -------- | --------- | ---- | ------------- |
1156  | agent | 只读     | WantAgent | 是   | WantAgent对象 |
1157  - 返回值
1158
1159    Promise<number>
1160
1161  - 示例代码
1162
1163  ```js
1164  import wantAgent from '@ohos.wantAgent';
1165  import { OperationType, Flags } from '@ohos.wantagent';
1166
1167  //wantAgent对象
1168  var WantAgent;
1169
1170  //WantAgentInfo对象
1171  var wantAgentInfo = {
1172      wants: [
1173          {
1174              deviceId: "deviceId",
1175              bundleName: "com.neu.setResultOnAbilityResultTest1",
1176              abilityName: "com.example.test.MainAbility",
1177              action: "action1",
1178              entities: ["entity1"],
1179              type: "MIMETYPE",
1180              uri: "key={true,true,false}",
1181              parameters:
1182              {
1183                  mykey0: 2222,
1184                  mykey1: [1, 2, 3],
1185                  mykey2: "[1, 2, 3]",
1186                  mykey3: "ssssssssssssssssssssssssss",
1187                  mykey4: [false, true, false],
1188                  mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
1189                  mykey6: true,
1190              }
1191          }
1192      ],
1193      operationType: OperationType.START_ABILITIES,
1194      requestCode: 0,
1195      wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
1196  }
1197
1198  wantAgent.getWantAgent(wantAgentInfo).then((data) => {
1199  	console.info("==========================>getWantAgentCallback=======================>");
1200      WantAgent = data;
1201  });
1202
1203  wantAgent.getUid(WantAgent).then((data) => {
1204  	console.info("==========================>getUidCallback=======================>");
1205  });
1206  ```
1207
1208
1209
1210##### 取消WantAgent实例
1211
1212- 取消WantAgent实例(callback形式)
1213
1214  WantAgent.cancel(agent: WantAgent, callback: AsyncCallback<void>)
1215
1216  - 参数描述
1217
1218  | 名称     | 读写属性 | 类型                | 必填 | 描述                        |
1219  | -------- | -------- | ------------------- | ---- | --------------------------- |
1220  | agent    | 只读     | WantAgent           | 是   | WantAgent对象               |
1221  | callback | 只读     | AsyncCallback<void> | 是   | 取消WantAgent实例的回调方法 |
1222  - 返回值
1223
1224    void
1225
1226  - 示例代码
1227
1228  ```js
1229  import wantAgent from '@ohos.wantAgent';
1230  import { OperationType, Flags } from '@ohos.wantagent';
1231
1232  //wantAgent对象
1233  var WantAgent;
1234
1235  //getWantAgent回调
1236  function getWantAgentCallback(err, data) {
1237  	console.info("==========================>getWantAgentCallback=======================>");
1238      if (err.code == 0) {
1239      	WantAgent = data;
1240      } else {
1241          console.info('----getWantAgent failed!----');
1242      }
1243  }
1244  //WantAgentInfo对象
1245  var wantAgentInfo = {
1246      wants: [
1247          {
1248              deviceId: "deviceId",
1249              bundleName: "com.neu.setResultOnAbilityResultTest1",
1250              abilityName: "com.example.test.MainAbility",
1251              action: "action1",
1252              entities: ["entity1"],
1253              type: "MIMETYPE",
1254              uri: "key={true,true,false}",
1255              parameters:
1256              {
1257                  mykey0: 2222,
1258                  mykey1: [1, 2, 3],
1259                  mykey2: "[1, 2, 3]",
1260                  mykey3: "ssssssssssssssssssssssssss",
1261                  mykey4: [false, true, false],
1262                  mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
1263                  mykey6: true,
1264              }
1265          }
1266      ],
1267      operationType: OperationType.START_ABILITIES,
1268      requestCode: 0,
1269      wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
1270  }
1271
1272  wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
1273
1274  //cancel回调
1275  function cancelCallback(err, data) {
1276  	console.info("==========================>cancelCallback=======================>");
1277  }
1278  wantAgent.cancel(WantAgent, cancelCallback)
1279  ```
1280
1281
1282
1283- 取消WantAgent实例(Promise形式)
1284
1285  WantAgent.cancel(agent: WantAgent): Promise<void>
1286
1287  - 参数描述
1288
1289  | 名称  | 读写属性 | 类型      | 必填 | 描述          |
1290  | ----- | -------- | --------- | ---- | ------------- |
1291  | agent | 只读     | WantAgent | 是   | WantAgent对象 |
1292  - 返回值
1293
1294    Promise<void>
1295
1296  - 示例代码
1297
1298  ```js
1299  import wantAgent from '@ohos.wantAgent';
1300  import { OperationType, Flags } from '@ohos.wantagent';
1301
1302  //wantAgent对象
1303  var WantAgent;
1304
1305  //WantAgentInfo对象
1306  var wantAgentInfo = {
1307      wants: [
1308          {
1309              deviceId: "deviceId",
1310              bundleName: "com.neu.setResultOnAbilityResultTest1",
1311              abilityName: "com.example.test.MainAbility",
1312              action: "action1",
1313              entities: ["entity1"],
1314              type: "MIMETYPE",
1315              uri: "key={true,true,false}",
1316              parameters:
1317              {
1318                  mykey0: 2222,
1319                  mykey1: [1, 2, 3],
1320                  mykey2: "[1, 2, 3]",
1321                  mykey3: "ssssssssssssssssssssssssss",
1322                  mykey4: [false, true, false],
1323                  mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
1324                  mykey6: true,
1325              }
1326          }
1327      ],
1328      operationType: OperationType.START_ABILITIES,
1329      requestCode: 0,
1330      wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
1331  }
1332
1333  wantAgent.getWantAgent(wantAgentInfo).then((data) => {
1334  	console.info("==========================>getWantAgentCallback=======================>");
1335      WantAgent = data;
1336  });
1337
1338  wantAgent.cancel(WantAgent).then((data) => {
1339  	console.info("==========================>cancelCallback=======================>");
1340  });
1341  ```
1342
1343
1344
1345
1346##### 主动激发WantAgent实例
1347
1348- 主动激发WantAgent实例(callback形式)
1349
1350  WantAgent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback<CompleteData>)
1351
1352  - 参数描述
1353
1354  | 名称        | 读写属性 | 类型                        | 必填 | 描述                            |
1355  | ----------- | -------- | --------------------------- | ---- | ------------------------------- |
1356  | agent       | 只读     | WantAgent                   | 是   | WantAgent对象                   |
1357  | triggerInfo | 只读     | TriggerInfo                 | 是   | TriggerInfo对象                 |
1358  | callback    | 只读     | AsyncCallback<CompleteData> | 是   | 主动激发WantAgent实例的回调方法 |
1359  - 返回值
1360
1361    void
1362
1363  - 示例代码
1364
1365  ```js
1366  import wantAgent from '@ohos.wantAgent';
1367  import { OperationType, Flags } from '@ohos.wantagent';
1368
1369  //wantAgent对象
1370  var WantAgent;
1371
1372  //getWantAgent回调
1373  function getWantAgentCallback(err, data) {
1374  	console.info("==========================>getWantAgentCallback=======================>");
1375      if (err.code == 0) {
1376      	WantAgent = data;
1377      } else {
1378          console.info('----getWantAgent failed!----');
1379      }
1380  }
1381  //WantAgentInfo对象
1382  var wantAgentInfo = {
1383      wants: [
1384          {
1385              deviceId: "deviceId",
1386              bundleName: "com.neu.setResultOnAbilityResultTest1",
1387              abilityName: "com.example.test.MainAbility",
1388              action: "action1",
1389              entities: ["entity1"],
1390              type: "MIMETYPE",
1391              uri: "key={true,true,false}",
1392              parameters:
1393              {
1394                  mykey0: 2222,
1395                  mykey1: [1, 2, 3],
1396                  mykey2: "[1, 2, 3]",
1397                  mykey3: "ssssssssssssssssssssssssss",
1398                  mykey4: [false, true, false],
1399                  mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
1400                  mykey6: true,
1401              }
1402          }
1403      ],
1404      operationType: OperationType.START_ABILITIES,
1405      requestCode: 0,
1406      wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
1407  }
1408
1409  wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
1410
1411  //cancel回调
1412  function triggerCallback(err, data) {
1413  	console.info("==========================>triggerCallback=======================>");
1414  }
1415  wantAgent.trigger(WantAgent, triggerCallback)
1416  ```
1417
1418
1419
1420
1421##### 判断两个WantAgent实例是否相等
1422
1423- 判断两个WantAgent实例是否相等(callback形式)
1424
1425  WantAgent.equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback<boolean>)
1426
1427  - 参数描述
1428
1429  | 名称       | 读写属性 | 类型                   | 必填 | 描述                                    |
1430  | ---------- | -------- | ---------------------- | ---- | --------------------------------------- |
1431  | agent      | 只读     | WantAgent              | 是   | WantAgent对象                           |
1432  | otherAgent | 只读     | WantAgent              | 是   | WantAgent对象                           |
1433  | callback   | 只读     | AsyncCallback<boolean> | 是   | 判断两个WantAgent实例是否相等的回调方法 |
1434  - 返回值
1435
1436    void
1437
1438  - 示例代码
1439
1440  ```js
1441  import wantAgent from '@ohos.wantAgent';
1442  import { OperationType, Flags } from '@ohos.wantagent';
1443
1444  //wantAgent对象
1445  var WantAgent1;
1446  var WantAgent2;
1447
1448  //getWantAgent回调
1449  function getWantAgentCallback(err, data) {
1450  	console.info("==========================>getWantAgentCallback=======================>");
1451      if (err.code == 0) {
1452      	WantAgent1 = data;
1453          WantAgent2 = data;
1454      } else {
1455          console.info('----getWantAgent failed!----');
1456      }
1457  }
1458  //WantAgentInfo对象
1459  var wantAgentInfo = {
1460      wants: [
1461          {
1462              deviceId: "deviceId",
1463              bundleName: "com.neu.setResultOnAbilityResultTest1",
1464              abilityName: "com.example.test.MainAbility",
1465              action: "action1",
1466              entities: ["entity1"],
1467              type: "MIMETYPE",
1468              uri: "key={true,true,false}",
1469              parameters:
1470              {
1471                  mykey0: 2222,
1472                  mykey1: [1, 2, 3],
1473                  mykey2: "[1, 2, 3]",
1474                  mykey3: "ssssssssssssssssssssssssss",
1475                  mykey4: [false, true, false],
1476                  mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
1477                  mykey6: true,
1478              }
1479          }
1480      ],
1481      operationType: OperationType.START_ABILITIES,
1482      requestCode: 0,
1483      wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
1484  }
1485
1486  wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
1487
1488  //cancel回调
1489  function equalCallback(err, data) {
1490  	console.info("==========================>equalCallback=======================>");
1491  }
1492  wantAgent.equal(WantAgent1, WantAgent1, equalCallback)
1493  ```
1494
1495
1496
1497- 判断两个WantAgent实例是否相等(Promise形式)
1498
1499  WantAgent.equal(agent: WantAgent, otherAgent: WantAgent): Promise<boolean>
1500
1501  - 参数描述
1502
1503  | 名称       | 读写属性 | 类型      | 必填 | 描述          |
1504  | ---------- | -------- | --------- | ---- | ------------- |
1505  | agent      | 只读     | WantAgent | 是   | WantAgent对象 |
1506  | otherAgent | 只读     | WantAgent | 是   | WantAgent对象 |
1507  - 返回值
1508
1509    Promise<boolean>
1510
1511  - 示例代码
1512
1513  ```js
1514  import wantAgent from '@ohos.wantAgent';
1515  import { OperationType, Flags } from '@ohos.wantagent';
1516
1517  //wantAgent对象
1518  var WantAgent1;
1519  var WantAgent2;
1520
1521  //WantAgentInfo对象
1522  var wantAgentInfo = {
1523      wants: [
1524          {
1525              deviceId: "deviceId",
1526              bundleName: "com.neu.setResultOnAbilityResultTest1",
1527              abilityName: "com.example.test.MainAbility",
1528              action: "action1",
1529              entities: ["entity1"],
1530              type: "MIMETYPE",
1531              uri: "key={true,true,false}",
1532              parameters:
1533              {
1534                  mykey0: 2222,
1535                  mykey1: [1, 2, 3],
1536                  mykey2: "[1, 2, 3]",
1537                  mykey3: "ssssssssssssssssssssssssss",
1538                  mykey4: [false, true, false],
1539                  mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
1540                  mykey6: true,
1541              }
1542          }
1543      ],
1544      operationType: OperationType.START_ABILITIES,
1545      requestCode: 0,
1546      wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
1547  }
1548
1549  wantAgent.getWantAgent(wantAgentInfo).then((data) => {
1550  	console.info("==========================>getWantAgentCallback=======================>");
1551      WantAgent = data;
1552  });
1553
1554  wantAgent.equal(WantAgent1, WantAgent2).then((data) => {
1555  	console.info("==========================>equalCallback=======================>");
1556  });
1557  ```
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584