• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.notification (Notification模块)
2
3本模块提供通知管理的能力,包括发布、取消发布通知,创建、获取、移除通知通道,订阅、取消订阅通知,获取通知的使能状态、角标使能状态,获取通知的相关信息等。
4
5> **说明:**
6>
7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9> 通知订阅和取消订阅仅对系统应用开放。
10
11## 导入模块
12
13```js
14import Notification from '@ohos.notification';
15```
16
17## Notification.publish
18
19publish(request: NotificationRequest, callback: AsyncCallback\<void\>): void
20
21发布通知(callback形式)。
22
23**系统能力**:SystemCapability.Notification.Notification
24
25**参数:**
26
27| 参数名     | 类型                                        | 必填 | 说明                                        |
28| -------- | ------------------------------------------- | ---- | ------------------------------------------- |
29| request  | [NotificationRequest](#notificationrequest) | 是   | 用于设置要发布通知的内容和相关配置信息。 |
30| callback | AsyncCallback\<void\>                       | 是   | 发布通知的回调方法。                        |
31
32**示例:**
33
34```js
35// publish回调
36function publishCallback(err) {
37    if (err.code) {
38        console.info("publish failed " + JSON.stringify(err));
39    } else {
40        console.info("publish success");
41    }
42}
43// 通知Request对象
44let notificationRequest = {
45    id: 1,
46    content: {
47        contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
48        normal: {
49            title: "test_title",
50            text: "test_text",
51            additionalText: "test_additionalText"
52        }
53    }
54};
55Notification.publish(notificationRequest, publishCallback);
56```
57
58
59
60## Notification.publish
61
62publish(request: NotificationRequest): Promise\<void\>
63
64发布通知(Promise形式)。
65
66**系统能力**:SystemCapability.Notification.Notification
67
68**参数:**
69
70| 参数名     | 类型                                        | 必填 | 说明                                        |
71| -------- | ------------------------------------------- | ---- | ------------------------------------------- |
72| request  | [NotificationRequest](#notificationrequest) | 是   | 用于设置要发布通知的内容和相关配置信息。 |
73
74**示例:**
75
76```js
77// 通知Request对象
78let notificationRequest = {
79    notificationId: 1,
80    content: {
81        contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
82        normal: {
83            title: "test_title",
84            text: "test_text",
85            additionalText: "test_additionalText"
86        }
87    }
88};
89Notification.publish(notificationRequest).then(() => {
90	console.info("publish success");
91});
92
93```
94
95## Notification.publish<sup>8+</sup>
96
97publish(request: NotificationRequest, userId: number, callback: AsyncCallback\<void\>): void
98
99发布通知给指定的用户(callback形式)。
100
101**系统能力**:SystemCapability.Notification.Notification
102
103**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
104
105**系统API**: 此接口为系统接口,三方应用不支持调用。
106
107**参数:**
108
109| 参数名     | 类型                                        | 必填 | 说明                                        |
110| -------- | ----------------------------------------- | ---- | ------------------------------------------- |
111| request  | [NotificationRequest](#notificationrequest) | 是   | 用于设置要发布通知的内容和相关配置信息。 |
112| userId   | number                                      | 是   | 用户ID。                           |
113| callback | AsyncCallback\<void\>                       | 是   | 被指定的回调方法。                           |
114
115**示例:**
116
117```js
118//publish回调
119function publishCallback(err) {
120    if (err.code) {
121        console.info("publish failed " + JSON.stringify(err));
122    } else {
123        console.info("publish success");
124    }
125}
126// 用户ID
127let userId = 1;
128// 通知Request对象
129let notificationRequest = {
130    id: 1,
131    content: {
132        contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
133        normal: {
134            title: "test_title",
135            text: "test_text",
136            additionalText: "test_additionalText"
137        }
138    }
139};
140Notification.publish(notificationRequest, userId, publishCallback);
141```
142
143## Notification.publish<sup>8+</sup>
144
145publish(request: NotificationRequest, userId: number): Promise\<void\>
146
147发布通知给指定的用户(Promise形式)。
148
149**系统能力**:SystemCapability.Notification.Notification
150
151**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
152
153**系统API**: 此接口为系统接口,三方应用不支持调用。
154
155**参数:**
156
157| 参数名     |  类型                                        | 必填 | 说明                                        |
158| -------- | ----------------------------------------- | ---- | ------------------------------------------- |
159| request  | [NotificationRequest](#notificationrequest) | 是   | 用于设置要发布通知的内容和相关配置信息。 |
160| userId   | number                                      | 是   | 用户ID。                           |
161
162**示例:**
163
164```js
165let notificationRequest = {
166    notificationId: 1,
167    content: {
168        contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
169        normal: {
170            title: "test_title",
171            text: "test_text",
172            additionalText: "test_additionalText"
173        }
174    }
175};
176
177let userId = 1;
178
179Notification.publish(notificationRequest, userId).then(() => {
180	console.info("publish success");
181});
182```
183
184
185## Notification.cancel
186
187cancel(id: number, label: string, callback: AsyncCallback\<void\>): void
188
189通过通知ID和通知标签取消已发布的通知(callback形式)。
190
191**系统能力**:SystemCapability.Notification.Notification
192
193**参数:**
194
195| 参数名     | 类型                  | 必填 | 说明                 |
196| -------- | --------------------- | ---- | -------------------- |
197| id       | number                | 是   | 通知ID。               |
198| label    | string                | 是   | 通知标签。             |
199| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。 |
200
201**示例:**
202
203```js
204// cancel回调
205function cancelCallback(err) {
206    if (err.code) {
207        console.info("cancel failed " + JSON.stringify(err));
208    } else {
209        console.info("cancel success");
210    }
211}
212Notification.cancel(0, "label", cancelCallback);
213```
214
215
216
217## Notification.cancel
218
219cancel(id: number, label?: string): Promise\<void\>
220
221取消与指定通知ID相匹配的已发布通知,label可以指定也可以不指定(Promise形式)。
222
223**系统能力**:SystemCapability.Notification.Notification
224
225**参数:**
226
227| 参数名  | 类型   | 必填 | 说明     |
228| ----- | ------ | ---- | -------- |
229| id    | number | 是   | 通知ID。   |
230| label | string | 否   | 通知标签。 |
231
232**示例:**
233
234```js
235Notification.cancel(0).then(() => {
236	console.info("cancel success");
237});
238```
239
240
241
242## Notification.cancel
243
244cancel(id: number, callback: AsyncCallback\<void\>): void
245
246取消与指定通知ID相匹配的已发布通知(callback形式)。
247
248**系统能力**:SystemCapability.Notification.Notification
249
250**参数:**
251
252| 参数名     | 类型                  | 必填 | 说明                 |
253| -------- | --------------------- | ---- | -------------------- |
254| id       | number                | 是   | 通知ID。               |
255| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。 |
256
257**示例:**
258
259```js
260// cancel回调
261function cancelCallback(err) {
262    if (err.code) {
263        console.info("cancel failed " + JSON.stringify(err));
264    } else {
265        console.info("cancel success");
266    }
267}
268Notification.cancel(0, cancelCallback);
269```
270
271
272
273## Notification.cancelAll
274
275cancelAll(callback: AsyncCallback\<void\>): void
276
277取消所有已发布的通知(callback形式)。
278
279**系统能力**:SystemCapability.Notification.Notification
280
281**参数:**
282
283| 参数名     | 类型                  | 必填 | 说明                 |
284| -------- | --------------------- | ---- | -------------------- |
285| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。 |
286
287**示例:**
288
289```js
290// cancel回调
291function cancelAllCallback(err) {
292    if (err.code) {
293        console.info("cancelAll failed " + JSON.stringify(err));
294    } else {
295        console.info("cancelAll success");
296    }
297}
298Notification.cancelAll(cancelAllCallback);
299```
300
301
302
303## Notification.cancelAll
304
305cancelAll(): Promise\<void\>
306
307取消所有已发布的通知(Promise形式)。
308
309**系统能力**:SystemCapability.Notification.Notification
310
311**示例:**
312
313```js
314Notification.cancelAll().then(() => {
315	console.info("cancelAll success");
316});
317```
318
319
320
321## Notification.addSlot
322
323addSlot(slot: NotificationSlot, callback: AsyncCallback\<void\>): void
324
325创建通知通道(callback形式)。
326
327**系统能力**:SystemCapability.Notification.Notification
328
329**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
330
331**系统API**: 此接口为系统接口,三方应用不支持调用。
332
333**参数:**
334
335| 参数名     | 类型                  | 必填 | 说明                 |
336| -------- | --------------------- | ---- | -------------------- |
337| slot     | [NotificationSlot](#notificationslot)       | 是   | 要创建的通知通道对象。 |
338| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。 |
339
340**示例:**
341
342```js
343// addslot回调
344function addSlotCallBack(err) {
345    if (err.code) {
346        console.info("addSlot failed " + JSON.stringify(err));
347    } else {
348        console.info("addSlot success");
349    }
350}
351// 通知slot对象
352let notificationSlot = {
353    type: Notification.SlotType.SOCIAL_COMMUNICATION
354};
355Notification.addSlot(notificationSlot, addSlotCallBack);
356```
357
358
359
360## Notification.addSlot
361
362addSlot(slot: NotificationSlot): Promise\<void\>
363
364创建通知通道(Promise形式)。
365
366**系统能力**:SystemCapability.Notification.Notification
367
368**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
369
370**系统API**: 此接口为系统接口,三方应用不支持调用。
371
372**参数:**
373
374| 参数名 | 类型             | 必填 | 说明                 |
375| ---- | ---------------- | ---- | -------------------- |
376| slot | [NotificationSlot](#notificationslot) | 是   | 要创建的通知通道对象。 |
377
378**示例:**
379
380```js
381// 通知slot对象
382let notificationSlot = {
383    type: Notification.SlotType.SOCIAL_COMMUNICATION
384};
385Notification.addSlot(notificationSlot).then(() => {
386	console.info("addSlot success");
387});
388```
389
390
391
392## Notification.addSlot
393
394addSlot(type: SlotType, callback: AsyncCallback\<void\>): void
395
396创建指定类型的通知通道(callback形式)。
397
398**系统能力**:SystemCapability.Notification.Notification
399
400**参数:**
401
402| 参数名     | 类型                  | 必填 | 说明                   |
403| -------- | --------------------- | ---- | ---------------------- |
404| type     | [SlotType](#slottype)              | 是   | 要创建的通知通道的类型。 |
405| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。   |
406
407**示例:**
408
409```js
410// addslot回调
411function addSlotCallBack(err) {
412    if (err.code) {
413        console.info("addSlot failed " + JSON.stringify(err));
414    } else {
415        console.info("addSlot success");
416    }
417}
418Notification.addSlot(Notification.SlotType.SOCIAL_COMMUNICATION, addSlotCallBack);
419```
420
421
422
423## Notification.addSlot
424
425addSlot(type: SlotType): Promise\<void\>
426
427创建指定类型的通知通道(Promise形式)。
428
429**系统能力**:SystemCapability.Notification.Notification
430
431**参数:**
432
433| 参数名 | 类型     | 必填 | 说明                   |
434| ---- | -------- | ---- | ---------------------- |
435| type | [SlotType](#slottype) | 是   | 要创建的通知通道的类型。 |
436
437**示例:**
438
439```js
440Notification.addSlot(Notification.SlotType.SOCIAL_COMMUNICATION).then(() => {
441	console.info("addSlot success");
442});
443```
444
445
446
447## Notification.addSlots
448
449addSlots(slots: Array\<NotificationSlot\>, callback: AsyncCallback\<void\>): void
450
451创建多个通知通道(callback形式)。
452
453**系统能力**:SystemCapability.Notification.Notification
454
455**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
456
457**系统API**: 此接口为系统接口,三方应用不支持调用。
458
459**参数:**
460
461| 参数名     | 类型                      | 必填 | 说明                     |
462| -------- | ------------------------- | ---- | ------------------------ |
463| slots    | Array\<[NotificationSlot](#notificationslot)\> | 是   | 要创建的通知通道对象数组。 |
464| callback | AsyncCallback\<void\>     | 是   | 表示被指定的回调方法。     |
465
466**示例:**
467
468```js
469// addSlots回调
470function addSlotsCallBack(err) {
471    if (err.code) {
472        console.info("addSlots failed " + JSON.stringify(err));
473    } else {
474        console.info("addSlots success");
475    }
476}
477// 通知slot对象
478let notificationSlot = {
479    type: Notification.SlotType.SOCIAL_COMMUNICATION
480};
481// 通知slot array 对象
482let notificationSlotArray = new Array();
483notificationSlotArray[0] = notificationSlot;
484
485Notification.addSlots(notificationSlotArray, addSlotsCallBack);
486```
487
488
489
490## Notification.addSlots
491
492addSlots(slots: Array\<NotificationSlot\>): Promise\<void\>
493
494创建多个通知通道(Promise形式)。
495
496**系统能力**:SystemCapability.Notification.Notification
497
498**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
499
500**系统API**: 此接口为系统接口,三方应用不支持调用。
501
502**参数:**
503
504| 参数名  | 类型                      | 必填 | 说明                     |
505| ----- | ------------------------- | ---- | ------------------------ |
506| slots | Array\<[NotificationSlot](#notificationslot)\> | 是   | 要创建的通知通道对象数组。 |
507
508**示例:**
509
510```js
511// 通知slot对象
512let notificationSlot = {
513    type: Notification.SlotType.SOCIAL_COMMUNICATION
514};
515// 通知slot array 对象
516let notificationSlotArray = new Array();
517notificationSlotArray[0] = notificationSlot;
518
519Notification.addSlots(notificationSlotArray).then(() => {
520	console.info("addSlots success");
521});
522```
523
524
525
526## Notification.getSlot
527
528getSlot(slotType: SlotType, callback: AsyncCallback\<NotificationSlot\>): void
529
530获取一个指定类型的通知通道(callback形式)。
531
532**系统能力**:SystemCapability.Notification.Notification
533
534**参数:**
535
536| 参数名     | 类型                              | 必填 | 说明                                                        |
537| -------- | --------------------------------- | ---- | ----------------------------------------------------------- |
538| slotType | [SlotType](#slottype)                          | 是   | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型。 |
539| callback | AsyncCallback\<[NotificationSlot](#notificationslot)\> | 是   | 表示被指定的回调方法。                                        |
540
541**示例:**
542
543```js
544// getSlot回调
545function getSlotCallback(err, data) {
546    if (err.code) {
547        console.info("getSlot failed " + JSON.stringify(err));
548    } else {
549        console.info("getSlot success");
550    }
551}
552let slotType = Notification.SlotType.SOCIAL_COMMUNICATION;
553Notification.getSlot(slotType, getSlotCallback);
554```
555
556
557
558## Notification.getSlot
559
560getSlot(slotType: SlotType): Promise\<NotificationSlot\>
561
562获取一个指定类型的通知通道(Promise形式)。
563
564**系统能力**:SystemCapability.Notification.Notification
565
566**参数:**
567
568| 参数名     | 类型     | 必填 | 说明                                                        |
569| -------- | -------- | ---- | ----------------------------------------------------------- |
570| slotType | [SlotType](#slottype) | 是   | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型。 |
571
572**返回值:**
573
574| 类型                                                        | 说明                                                         |
575| ----------------------------------------------------------- | ------------------------------------------------------------ |
576| Promise\<NotificationSlot\> | 以Promise形式返回获取一个通知通道。 |
577
578**示例:**
579
580```js
581let slotType = Notification.SlotType.SOCIAL_COMMUNICATION;
582Notification.getSlot(slotType).then((data) => {
583	console.info("getSlot success, data: " + JSON.stringify(data));
584});
585```
586
587
588
589## Notification.getSlots
590
591getSlots(callback: AsyncCallback\<Array\<NotificationSlot>>): void
592
593获取此应用程序的所有通知通道(callback形式)。
594
595**系统能力**:SystemCapability.Notification.Notification
596
597**参数:**
598
599| 参数名     | 类型                              | 必填 | 说明                 |
600| -------- | --------------------------------- | ---- | -------------------- |
601| callback | AsyncCallback\<Array\<[NotificationSlot](#notificationslot)>> | 是   | 以callback形式返回获取此应用程序的所有通知通道的结果。 |
602
603**示例:**
604
605```js
606// getSlots回调
607function getSlotsCallback(err, data) {
608    if (err.code) {
609        console.info("getSlots failed " + JSON.stringify(err));
610    } else {
611        console.info("getSlots success");
612    }
613}
614Notification.getSlots(getSlotsCallback);
615```
616
617
618
619## Notification.getSlots
620
621getSlots(): Promise\<Array\<NotificationSlot\>>
622
623获取此应用程序的所有通知通道(Promise形式)。
624
625**系统能力**:SystemCapability.Notification.Notification
626
627**返回值:**
628
629| 类型                                                        | 说明                                                         |
630| ----------------------------------------------------------- | ------------------------------------------------------------ |
631| Promise\<Array\<[NotificationSlot](#notificationslot)\>\> | 以Promise形式返回获取此应用程序的所有通知通道的结果。 |
632
633**示例:**
634
635```js
636Notification.getSlots().then((data) => {
637	console.info("getSlots success, data: " + JSON.stringify(data));
638});
639```
640
641
642
643## Notification.removeSlot
644
645removeSlot(slotType: SlotType, callback: AsyncCallback\<void\>): void
646
647删除指定类型的通知通道(callback形式)。
648
649**系统能力**:SystemCapability.Notification.Notification
650
651**参数:**
652
653| 参数名     | 类型                  | 必填 | 说明                                                        |
654| -------- | --------------------- | ---- | ----------------------------------------------------------- |
655| slotType | [SlotType](#slottype)              | 是   | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型。 |
656| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。                                        |
657
658**示例:**
659
660```js
661// removeSlot回调
662function removeSlotCallback(err) {
663    if (err.code) {
664        console.info("removeSlot failed " + JSON.stringify(err));
665    } else {
666        console.info("removeSlot success");
667    }
668}
669let slotType = Notification.SlotType.SOCIAL_COMMUNICATION;
670Notification.removeSlot(slotType,removeSlotCallback);
671```
672
673
674
675## Notification.removeSlot
676
677removeSlot(slotType: SlotType): Promise\<void\>
678
679删除指定类型的通知通道(Promise形式)。
680
681**系统能力**:SystemCapability.Notification.Notification
682
683**参数:**
684
685| 参数名     | 类型     | 必填 | 说明                                                        |
686| -------- | -------- | ---- | ----------------------------------------------------------- |
687| slotType | [SlotType](#slottype) | 是   | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型。 |
688
689**示例:**
690
691```js
692let slotType = Notification.SlotType.SOCIAL_COMMUNICATION;
693Notification.removeSlot(slotType).then(() => {
694	console.info("removeSlot success");
695});
696```
697
698
699
700## Notification.removeAllSlots
701
702removeAllSlots(callback: AsyncCallback\<void\>): void
703
704删除所有通知通道(callback形式)。
705
706**系统能力**:SystemCapability.Notification.Notification
707
708**参数:**
709
710| 参数名     | 类型                  | 必填 | 说明                 |
711| -------- | --------------------- | ---- | -------------------- |
712| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。 |
713
714**示例:**
715
716```js
717function removeAllCallBack(err) {
718    if (err.code) {
719        console.info("removeAllSlots failed " + JSON.stringify(err));
720    } else {
721        console.info("removeAllSlots success");
722    }
723}
724Notification.removeAllSlots(removeAllCallBack);
725```
726
727
728
729## Notification.removeAllSlots
730
731removeAllSlots(): Promise\<void\>
732
733删除所有通知通道(Promise形式)。
734
735**系统能力**:SystemCapability.Notification.Notification
736
737**示例:**
738
739```js
740Notification.removeAllSlots().then(() => {
741	console.info("removeAllSlots success");
742});
743```
744
745
746
747## Notification.subscribe
748
749subscribe(subscriber: NotificationSubscriber, info: NotificationSubscribeInfo, callback: AsyncCallback\<void\>): void
750
751订阅通知并指定订阅信息(callback形式)。
752
753**系统能力**:SystemCapability.Notification.Notification
754
755**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
756
757**系统API**: 此接口为系统接口,三方应用不支持调用。
758
759**参数:**
760
761| 参数名       | 类型                      | 必填 | 说明             |
762| ---------- | ------------------------- | ---- | ---------------- |
763| subscriber | [NotificationSubscriber](#notificationsubscriber)    | 是   | 通知订阅对象。     |
764| info       | [NotificationSubscribeInfo](#notificationsubscribeinfo) | 是   | 通知订阅信息。 |
765| callback   | AsyncCallback\<void\>     | 是   | 订阅动作回调函数。 |
766
767**示例:**
768
769```js
770// subscribe回调
771function subscribeCallback(err) {
772    if (err.code) {
773        console.info("subscribe failed " + JSON.stringify(err));
774    } else {
775        console.info("subscribe success");
776    }
777}
778function onConsumeCallback(data) {
779	console.info("Consume callback: " + JSON.stringify(data));
780}
781let subscriber = {
782    onConsume: onConsumeCallback
783};
784let info = {
785    bundleNames: ["bundleName1", "bundleName2"]
786};
787Notification.subscribe(subscriber, info, subscribeCallback);
788```
789
790
791
792## Notification.subscribe
793
794subscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\<void\>): void
795
796订阅当前用户下所有应用的通知(callback形式)。
797
798**系统能力**:SystemCapability.Notification.Notification
799
800**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
801
802**系统API**: 此接口为系统接口,三方应用不支持调用。
803
804**参数:**
805
806| 参数名       | 类型                   | 必填 | 说明             |
807| ---------- | ---------------------- | ---- | ---------------- |
808| subscriber | [NotificationSubscriber](#notificationsubscriber) | 是   | 通知订阅对象。     |
809| callback   | AsyncCallback\<void\>  | 是   | 订阅动作回调函数。 |
810
811**示例:**
812
813```js
814function subscribeCallback(err) {
815    if (err.code) {
816        console.info("subscribe failed " + JSON.stringify(err));
817    } else {
818        console.info("subscribe success");
819    }
820}
821function onConsumeCallback(data) {
822	console.info("Consume callback: " + JSON.stringify(data));
823}
824let subscriber = {
825    onConsume: onConsumeCallback
826};
827Notification.subscribe(subscriber, subscribeCallback);
828```
829
830
831
832## Notification.subscribe
833
834subscribe(subscriber: NotificationSubscriber, info?: NotificationSubscribeInfo): Promise\<void\>
835
836订阅通知并指定订阅信息(Promise形式)。
837
838**系统能力**:SystemCapability.Notification.Notification
839
840**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
841
842**系统API**: 此接口为系统接口,三方应用不支持调用。
843
844**参数:**
845
846| 参数名       | 类型                      | 必填 | 说明         |
847| ---------- | ------------------------- | ---- | ------------ |
848| subscriber | [NotificationSubscriber](#notificationsubscriber)    | 是   | 通知订阅对象。 |
849| info       | [NotificationSubscribeInfo](#notificationsubscribeinfo) | 否   | 通知订阅信息。   |
850
851**示例:**
852
853```js
854function onConsumeCallback(data) {
855    console.info("Consume callback: " + JSON.stringify(data));
856}
857let subscriber = {
858    onConsume: onConsumeCallback
859};
860Notification.subscribe(subscriber).then(() => {
861	console.info("subscribe success");
862});
863```
864
865
866
867## Notification.unsubscribe
868
869unsubscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\<void\>): void
870
871取消订阅(callbcak形式)。
872
873**系统能力**:SystemCapability.Notification.Notification
874
875**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
876
877**系统API**: 此接口为系统接口,三方应用不支持调用。
878
879**参数:**
880
881| 参数名       | 类型                   | 必填 | 说明                 |
882| ---------- | ---------------------- | ---- | -------------------- |
883| subscriber | [NotificationSubscriber](#notificationsubscriber) | 是   | 通知订阅对象。         |
884| callback   | AsyncCallback\<void\>  | 是   | 取消订阅动作回调函数。 |
885
886**示例:**
887
888```js
889function unsubscribeCallback(err) {
890    if (err.code) {
891        console.info("unsubscribe failed " + JSON.stringify(err));
892    } else {
893        console.info("unsubscribe success");
894    }
895}
896function onDisconnectCallback() {
897	console.info("subscribe disconnect");
898}
899let subscriber = {
900    onDisconnect: onDisconnectCallback
901};
902Notification.unsubscribe(subscriber, unsubscribeCallback);
903```
904
905
906
907## Notification.unsubscribe
908
909unsubscribe(subscriber: NotificationSubscriber): Promise\<void\>
910
911取消订阅(Promise形式)。
912
913**系统能力**:SystemCapability.Notification.Notification
914
915**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
916
917**系统API**: 此接口为系统接口,三方应用不支持调用。
918
919**参数:**
920
921| 参数名       | 类型                   | 必填 | 说明         |
922| ---------- | ---------------------- | ---- | ------------ |
923| subscriber | [NotificationSubscriber](#notificationsubscriber) | 是   | 通知订阅对象。 |
924
925**示例:**
926
927```js
928function onDisconnectCallback() {
929	console.info("subscribe disconnect");
930}
931let subscriber = {
932    onDisconnect: onDisconnectCallback
933};
934Notification.unsubscribe(subscriber).then(() => {
935	console.info("unsubscribe success");
936});
937```
938
939
940
941## Notification.enableNotification
942
943enableNotification(bundle: BundleOption, enable: boolean, callback: AsyncCallback\<void\>): void
944
945设定指定应用的通知使能状态(Callback形式)。
946
947**系统能力**:SystemCapability.Notification.Notification
948
949**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
950
951**系统API**: 此接口为系统接口,三方应用不支持调用。
952
953**参数:**
954
955| 参数名     | 类型                  | 必填 | 说明                 |
956| -------- | --------------------- | ---- | -------------------- |
957| bundle   | [BundleOption](#bundleoption)          | 是   | 指定应用的包信息。        |
958| enable   | boolean               | 是   | 使能状态。             |
959| callback | AsyncCallback\<void\> | 是   | 设定通知使能回调函数。 |
960
961**示例:**
962
963```js
964function enableNotificationCallback(err) {
965    if (err.code) {
966        console.info("enableNotification failed " + JSON.stringify(err));
967    } else {
968        console.info("enableNotification success");
969    }
970}
971let bundle = {
972    bundle: "bundleName1",
973};
974Notification.enableNotification(bundle, false, enableNotificationCallback);
975```
976
977
978
979## Notification.enableNotification
980
981enableNotification(bundle: BundleOption, enable: boolean): Promise\<void\>
982
983设定指定应用的通知使能状态(Promise形式)。
984
985**系统能力**:SystemCapability.Notification.Notification
986
987**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
988
989**系统API**: 此接口为系统接口,三方应用不支持调用。
990
991**参数:**
992
993| 参数名   | 类型         | 必填 | 说明       |
994| ------ | ------------ | ---- | ---------- |
995| bundle | [BundleOption](#bundleoption) | 是   | 指定应用的包信息。 |
996| enable | boolean      | 是   | 使能状态。   |
997
998**示例:**
999
1000```js
1001let bundle = {
1002    bundle: "bundleName1",
1003};
1004Notification.enableNotification(bundle, false).then(() => {
1005	console.info("enableNotification success");
1006});
1007```
1008
1009
1010
1011## Notification.isNotificationEnabled
1012
1013isNotificationEnabled(bundle: BundleOption, callback: AsyncCallback\<boolean\>): void
1014
1015获取指定应用的通知使能状态(Callback形式)。
1016
1017**系统能力**:SystemCapability.Notification.Notification
1018
1019**系统API**:此接口为系统接口,三方应用不支持调用。
1020
1021**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1022
1023**参数:**
1024
1025| 参数名     | 类型                  | 必填 | 说明                     |
1026| -------- | --------------------- | ---- | ------------------------ |
1027| bundle   | [BundleOption](#bundleoption)          | 是   | 指定应用的包信息。            |
1028| callback | AsyncCallback\<void\> | 是   | 获取通知使能状态回调函数。 |
1029
1030**示例:**
1031
1032```js
1033function isNotificationEnabledCallback(err, data) {
1034    if (err.code) {
1035        console.info("isNotificationEnabled failed " + JSON.stringify(err));
1036    } else {
1037        console.info("isNotificationEnabled success");
1038    }
1039}
1040let bundle = {
1041    bundle: "bundleName1",
1042};
1043Notification.isNotificationEnabled(bundle, isNotificationEnabledCallback);
1044```
1045
1046
1047
1048## Notification.isNotificationEnabled
1049
1050isNotificationEnabled(bundle: BundleOption): Promise\<boolean\>
1051
1052获取指定应用的通知使能状态(Promise形式)。
1053
1054**系统能力**:SystemCapability.Notification.Notification
1055
1056**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1057
1058**系统API**: 此接口为系统接口,三方应用不支持调用。
1059
1060**参数:**
1061
1062| 参数名   | 类型         | 必填 | 说明       |
1063| ------ | ------------ | ---- | ---------- |
1064| bundle | [BundleOption](#bundleoption) | 是   | 指定应用的包信息。 |
1065
1066**返回值:**
1067
1068| 类型               | 说明                                                |
1069| ------------------ | --------------------------------------------------- |
1070| Promise\<boolean\> | 以Promise形式返回获取指定应用的通知使能状态的结果。 |
1071
1072**示例:**
1073
1074```js
1075let bundle = {
1076    bundle: "bundleName1",
1077};
1078Notification.isNotificationEnabled(bundle).then((data) => {
1079	console.info("isNotificationEnabled success, data: " + JSON.stringify(data));
1080});
1081```
1082
1083
1084
1085## Notification.isNotificationEnabled
1086
1087isNotificationEnabled(callback: AsyncCallback\<boolean\>): void
1088
1089获取通知使能状态(Callback形式)。
1090
1091**系统能力**:SystemCapability.Notification.Notification
1092
1093**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1094
1095**系统API**: 此接口为系统接口,三方应用不支持调用。
1096
1097**参数:**
1098
1099| 参数名     | 类型                  | 必填 | 说明                     |
1100| -------- | --------------------- | ---- | ------------------------ |
1101| callback | AsyncCallback\<void\> | 是   | 获取通知使能状态回调函数。 |
1102
1103**示例:**
1104
1105```js
1106function isNotificationEnabledCallback(err, data) {
1107    if (err.code) {
1108        console.info("isNotificationEnabled failed " + JSON.stringify(err));
1109    } else {
1110        console.info("isNotificationEnabled success");
1111    }
1112}
1113
1114Notification.isNotificationEnabled(isNotificationEnabledCallback);
1115```
1116
1117
1118
1119## Notification.isNotificationEnabled
1120
1121isNotificationEnabled(): Promise\<boolean\>
1122
1123获取通知使能状态(Promise形式)。
1124
1125**系统能力**:SystemCapability.Notification.Notification
1126
1127**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1128
1129**系统API**: 此接口为系统接口,三方应用不支持调用。
1130
1131**参数:**
1132
1133| 参数名   | 类型         | 必填 | 说明       |
1134| ------ | ------------ | ---- | ---------- |
1135| bundle | [BundleOption](#bundleoption) | 是   | 指定应用的包信息。 |
1136
1137**返回值:**
1138
1139| 类型                                                        | 说明                                                         |
1140| ----------------------------------------------------------- | ------------------------------------------------------------ |
1141| Promise\<boolean\> | 以Promise形式返回获取通知使能状态的结果。 |
1142
1143**示例:**
1144
1145```js
1146Notification.isNotificationEnabled().then((data) => {
1147	console.info("isNotificationEnabled success, data: " + JSON.stringify(data));
1148});
1149```
1150
1151
1152
1153## Notification.displayBadge
1154
1155displayBadge(bundle: BundleOption, enable: boolean, callback: AsyncCallback\<void\>): void
1156
1157设定指定应用的角标使能状态(Callback形式)。
1158
1159**系统能力**:SystemCapability.Notification.Notification
1160
1161**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1162
1163**系统API**: 此接口为系统接口,三方应用不支持调用。
1164
1165**参数:**
1166
1167| 参数名     | 类型                  | 必填 | 说明                 |
1168| -------- | --------------------- | ---- | -------------------- |
1169| bundle   | [BundleOption](#bundleoption)          | 是   | 指定应用的包信息。           |
1170| enable   | boolean               | 是   | 使能状态。             |
1171| callback | AsyncCallback\<void\> | 是   | 设定角标使能回调函数。 |
1172
1173**示例:**
1174
1175```js
1176function displayBadgeCallback(err) {
1177    if (err.code) {
1178        console.info("displayBadge failed " + JSON.stringify(err));
1179    } else {
1180        console.info("displayBadge success");
1181    }
1182}
1183let bundle = {
1184    bundle: "bundleName1",
1185};
1186Notification.displayBadge(bundle, false, displayBadgeCallback);
1187```
1188
1189
1190
1191## Notification.displayBadge
1192
1193displayBadge(bundle: BundleOption, enable: boolean): Promise\<void\>
1194
1195设定指定应用的角标使能状态(Promise形式)。
1196
1197**系统能力**:SystemCapability.Notification.Notification
1198
1199**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1200
1201**系统API**: 此接口为系统接口,三方应用不支持调用。
1202
1203**参数:**
1204
1205| 参数名   | 类型         | 必填 | 说明       |
1206| ------ | ------------ | ---- | ---------- |
1207| bundle | [BundleOption](#bundleoption) | 是   | 指定应用的包信息。 |
1208| enable | boolean      | 是   | 使能状态。   |
1209
1210**示例:**
1211
1212```js
1213let bundle = {
1214    bundle: "bundleName1",
1215};
1216Notification.displayBadge(bundle, false).then(() => {
1217	console.info("displayBadge success");
1218});
1219```
1220
1221
1222
1223## Notification.isBadgeDisplayed
1224
1225isBadgeDisplayed(bundle: BundleOption, callback: AsyncCallback\<boolean\>): void
1226
1227获取指定应用的角标使能状态(Callback形式)。
1228
1229**系统能力**:SystemCapability.Notification.Notification
1230
1231**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1232
1233**系统API**: 此接口为系统接口,三方应用不支持调用。
1234
1235**参数:**
1236
1237| 参数名     | 类型                  | 必填 | 说明                     |
1238| -------- | --------------------- | ---- | ------------------------ |
1239| bundle   | [BundleOption](#bundleoption)          | 是   | 指定应用的包信息。               |
1240| callback | AsyncCallback\<void\> | 是   | 获取角标使能状态回调函数。 |
1241
1242**示例:**
1243
1244```js
1245function isBadgeDisplayedCallback(err, data) {
1246    if (err.code) {
1247        console.info("isBadgeDisplayed failed " + JSON.stringify(err));
1248    } else {
1249        console.info("isBadgeDisplayed success");
1250    }
1251}
1252let bundle = {
1253    bundle: "bundleName1",
1254};
1255Notification.isBadgeDisplayed(bundle, isBadgeDisplayedCallback);
1256```
1257
1258
1259
1260## Notification.isBadgeDisplayed
1261
1262isBadgeDisplayed(bundle: BundleOption): Promise\<boolean\>
1263
1264获取指定应用的角标使能状态(Promise形式)。
1265
1266**系统能力**:SystemCapability.Notification.Notification
1267
1268**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1269
1270**系统API**: 此接口为系统接口,三方应用不支持调用。
1271
1272**参数:**
1273
1274| 参数名   | 类型         | 必填 | 说明       |
1275| ------ | ------------ | ---- | ---------- |
1276| bundle | [BundleOption](#bundleoption) | 是   | 指定应用的包信息。 |
1277
1278**返回值:**
1279
1280| 类型                                                        | 说明                                                         |
1281| ----------------------------------------------------------- | ------------------------------------------------------------ |
1282| Promise\<boolean\> | 以Promise形式返回获取指定应用的角标使能状态。 |
1283
1284**示例:**
1285
1286```js
1287let bundle = {
1288    bundle: "bundleName1",
1289};
1290Notification.isBadgeDisplayed(bundle).then((data) => {
1291	console.info("isBadgeDisplayed success, data: " + JSON.stringify(data));
1292});
1293```
1294
1295
1296
1297## Notification.setSlotByBundle
1298
1299setSlotByBundle(bundle: BundleOption, slot: NotificationSlot, callback: AsyncCallback\<void\>): void
1300
1301设定指定应用的通知通道(Callback形式)。
1302
1303**系统能力**:SystemCapability.Notification.Notification
1304
1305**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1306
1307**系统API**: 此接口为系统接口,三方应用不支持调用。
1308
1309**参数:**
1310
1311| 参数名     | 类型                  | 必填 | 说明                 |
1312| -------- | --------------------- | ---- | -------------------- |
1313| bundle   | [BundleOption](#bundleoption)          | 是   | 指定应用的包信息。           |
1314| slot     | [NotificationSlot](#notificationslot)      | 是   | 通知通道。             |
1315| callback | AsyncCallback\<void\> | 是   | 设定通知通道回调函数。 |
1316
1317**示例:**
1318
1319```js
1320function setSlotByBundleCallback(err) {
1321    if (err.code) {
1322        console.info("setSlotByBundle failed " + JSON.stringify(err));
1323    } else {
1324        console.info("setSlotByBundle success");
1325    }
1326}
1327let bundle = {
1328    bundle: "bundleName1",
1329};
1330let notificationSlot = {
1331    type: Notification.SlotType.SOCIAL_COMMUNICATION
1332};
1333Notification.setSlotByBundle(bundle, notificationSlot, setSlotByBundleCallback);
1334```
1335
1336
1337
1338## Notification.setSlotByBundle
1339
1340setSlotByBundle(bundle: BundleOption, slot: NotificationSlot): Promise\<void\>
1341
1342设定指定应用的通知通道(Promise形式)。
1343
1344**系统能力**:SystemCapability.Notification.Notification
1345
1346**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1347
1348**系统API**: 此接口为系统接口,三方应用不支持调用。
1349
1350**参数:**
1351
1352| 参数名   | 类型         | 必填 | 说明       |
1353| ------ | ------------ | ---- | ---------- |
1354| bundle | [BundleOption](#bundleoption) | 是   | 指定应用的包信息。 |
1355| slot   | [NotificationSlot](#notificationslot) | 是   | 通知通道。 |
1356
1357**示例:**
1358
1359```js
1360let bundle = {
1361    bundle: "bundleName1",
1362};
1363let notificationSlot = {
1364    type: Notification.SlotType.SOCIAL_COMMUNICATION
1365};
1366Notification.setSlotByBundle(bundle, notificationSlot).then(() => {
1367	console.info("setSlotByBundle success");
1368});
1369```
1370
1371
1372
1373## Notification.getSlotsByBundle
1374
1375getSlotsByBundle(bundle: BundleOption, callback: AsyncCallback\<Array\<NotificationSlot>>): void
1376
1377获取指定应用的所有通知通道(Callback形式)。
1378
1379**系统能力**:SystemCapability.Notification.Notification
1380
1381**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1382
1383**系统API**: 此接口为系统接口,三方应用不支持调用。
1384
1385**参数:**
1386
1387| 参数名     | 类型                                     | 必填 | 说明                 |
1388| -------- | ---------------------------------------- | ---- | -------------------- |
1389| bundle   | [BundleOption](#bundleoption)                             | 是   | 指定应用的包信息。           |
1390| callback | AsyncCallback\<Array\<[NotificationSlot](#notificationslot)>> | 是   | 获取通知通道回调函数。 |
1391
1392**示例:**
1393
1394```js
1395function getSlotsByBundleCallback(err, data) {
1396    if (err.code) {
1397        console.info("getSlotsByBundle failed " + JSON.stringify(err));
1398    } else {
1399        console.info("getSlotsByBundle success");
1400    }
1401}
1402let bundle = {
1403    bundle: "bundleName1",
1404};
1405Notification.getSlotsByBundle(bundle, getSlotsByBundleCallback);
1406```
1407
1408
1409
1410## Notification.getSlotsByBundle
1411
1412getSlotsByBundle(bundle: BundleOption): Promise\<Array\<NotificationSlot>>
1413
1414获取指定应用的所有通知通道(Promise形式)。
1415
1416**系统能力**:SystemCapability.Notification.Notification
1417
1418**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1419
1420**系统API**: 此接口为系统接口,三方应用不支持调用。
1421
1422**参数:**
1423
1424| 参数名   | 类型         | 必填 | 说明       |
1425| ------ | ------------ | ---- | ---------- |
1426| bundle | [BundleOption](#bundleoption) | 是   | 指定应用的包信息。 |
1427
1428**返回值:**
1429
1430| 类型                                                        | 说明                                                         |
1431| ----------------------------------------------------------- | ------------------------------------------------------------ |
1432| Promise\<Array\<[NotificationSlot](#notificationslot)>> | 以Promise形式返回获取指定应用的通知通道。 |
1433
1434**示例:**
1435
1436```js
1437let bundle = {
1438    bundle: "bundleName1",
1439};
1440Notification.getSlotsByBundle(bundle).then((data) => {
1441	console.info("getSlotsByBundle success, data: " + JSON.stringify(data));
1442});
1443```
1444
1445
1446
1447## Notification.getSlotNumByBundle
1448
1449getSlotNumByBundle(bundle: BundleOption, callback: AsyncCallback\<number\>): void
1450
1451获取指定应用的通知通道数量(Callback形式)。
1452
1453**系统能力**:SystemCapability.Notification.Notification
1454
1455**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1456
1457**系统API**: 此接口为系统接口,三方应用不支持调用。
1458
1459**参数:**
1460
1461| 参数名     | 类型                      | 必填 | 说明                   |
1462| -------- | ------------------------- | ---- | ---------------------- |
1463| bundle   | [BundleOption](#bundleoption)              | 是   | 指定应用的包信息。             |
1464| callback | AsyncCallback\<number\> | 是   | 获取通知通道数量回调函数。 |
1465
1466**示例:**
1467
1468```js
1469function getSlotNumByBundleCallback(err, data) {
1470    if (err.code) {
1471        console.info("getSlotNumByBundle failed " + JSON.stringify(err));
1472    } else {
1473        console.info("getSlotNumByBundle success");
1474    }
1475}
1476let bundle = {
1477    bundle: "bundleName1",
1478};
1479Notification.getSlotNumByBundle(bundle, getSlotNumByBundleCallback);
1480```
1481
1482
1483
1484## Notification.getSlotNumByBundle
1485
1486getSlotNumByBundle(bundle: BundleOption): Promise\<number\>
1487
1488获取指定应用的通知通道数量(Promise形式)。
1489
1490**系统能力**:SystemCapability.Notification.Notification
1491
1492**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1493
1494**系统API**: 此接口为系统接口,三方应用不支持调用。
1495
1496**参数:**
1497
1498| 参数名   | 类型         | 必填 | 说明       |
1499| ------ | ------------ | ---- | ---------- |
1500| bundle | [BundleOption](#bundleoption) | 是   | 指定应用的包信息。 |
1501
1502**返回值:**
1503
1504| 类型                                                        | 说明                                                         |
1505| ----------------------------------------------------------- | ------------------------------------------------------------ |
1506| Promise\<number\> | 以Promise形式返回获取指定应用的通知通道数量。 |
1507
1508**示例:**
1509
1510```js
1511let bundle = {
1512    bundle: "bundleName1",
1513};
1514Notification.getSlotNumByBundle(bundle).then((data) => {
1515	console.info("getSlotNumByBundle success, data: " + JSON.stringify(data));
1516});
1517```
1518
1519
1520
1521## Notification.remove
1522
1523remove(bundle: BundleOption, notificationKey: NotificationKey, reason: RemoveReason, callback: AsyncCallback\<void\>): void
1524
1525删除指定通知(Callback形式)。
1526
1527**系统能力**:SystemCapability.Notification.Notification
1528
1529**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1530
1531**系统API**: 此接口为系统接口,三方应用不支持调用。
1532
1533**参数:**
1534
1535| 参数名            | 类型                                | 必填 | 说明                 |
1536| --------------- |   ----------------------------------| ---- | -------------------- |
1537| bundle          | [BundleOption](#bundleoption)       | 是   | 指定应用的包信息。           |
1538| notificationKey | [NotificationKey](#notificationkey) | 是   | 通知键值。             |
1539| reason          | [RemoveReason](#removereason9)      | 是   | 通知删除原因。         |
1540| callback        | AsyncCallback\<void\>               | 是   | 删除指定通知回调函数。 |
1541
1542**示例:**
1543
1544```js
1545function removeCallback(err) {
1546    if (err.code) {
1547        console.info("remove failed " + JSON.stringify(err));
1548    } else {
1549        console.info("remove success");
1550    }
1551}
1552let bundle = {
1553    bundle: "bundleName1",
1554};
1555let notificationKey = {
1556    id: 0,
1557    label: "label",
1558};
1559let reason = Notification.RemoveReason.CLICK_REASON_REMOVE;
1560Notification.remove(bundle, notificationKey, reason, removeCallback);
1561```
1562
1563
1564
1565## Notification.remove
1566
1567remove(bundle: BundleOption, notificationKey: NotificationKey, reason: RemoveReason): Promise\<void\>
1568
1569删除指定通知(Promise形式)。
1570
1571**系统能力**:SystemCapability.Notification.Notification
1572
1573**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1574
1575**系统API**: 此接口为系统接口,三方应用不支持调用。
1576
1577**参数:**
1578
1579| 参数名            | 类型            | 必填 | 说明       |
1580| --------------- | --------------- | ---- | ---------- |
1581| bundle          | [BundleOption](#bundleoption)    | 是   | 指定应用的包信息。 |
1582| notificationKey | [NotificationKey](#notificationkey) | 是   | 通知键值。   |
1583| reason          | [RemoveReason](#removereason9) | 是   | 通知删除原因。         |
1584
1585**示例:**
1586
1587```js
1588let bundle = {
1589    bundle: "bundleName1",
1590};
1591let notificationKey = {
1592    id: 0,
1593    label: "label",
1594};
1595let reason = Notification.RemoveReason.CLICK_REASON_REMOVE;
1596Notification.remove(bundle, notificationKey, reason).then(() => {
1597	console.info("remove success");
1598});
1599```
1600
1601
1602
1603## Notification.remove
1604
1605remove(hashCode: string, reason: RemoveReason, callback: AsyncCallback\<void\>): void
1606
1607删除指定通知(Callback形式)。
1608
1609**系统能力**:SystemCapability.Notification.Notification
1610
1611**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1612
1613**系统API**: 此接口为系统接口,三方应用不支持调用。
1614
1615**参数:**
1616
1617| 参数名     | 类型                  | 必填 | 说明                 |
1618| -------- | --------------------- | ---- | -------------------- |
1619| hashCode | string                | 是   | 通知唯一ID。可以通过[onConsume](#onconsume)回调的入参[SubscribeCallbackData](#subscribecallbackdata)获取其内部[NotificationRequest](#notificationrequest)对象中的hashCode。 |
1620| reason   | [RemoveReason](#removereason9) | 是   | 通知删除原因。         |
1621| callback | AsyncCallback\<void\> | 是   | 删除指定通知回调函数。 |
1622
1623**示例:**
1624
1625```js
1626let hashCode = 'hashCode';
1627
1628function removeCallback(err) {
1629    if (err.code) {
1630        console.info("remove failed " + JSON.stringify(err));
1631    } else {
1632        console.info("remove success");
1633    }
1634}
1635let reason = Notification.RemoveReason.CANCEL_REASON_REMOVE;
1636Notification.remove(hashCode, reason, removeCallback);
1637```
1638
1639
1640
1641## Notification.remove
1642
1643remove(hashCode: string, reason: RemoveReason): Promise\<void\>
1644
1645删除指定通知(Promise形式)。
1646
1647**系统能力**:SystemCapability.Notification.Notification
1648
1649**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1650
1651**系统API**: 此接口为系统接口,三方应用不支持调用。
1652
1653**参数:**
1654
1655| 参数名     | 类型       | 必填 | 说明       |
1656| -------- | ---------- | ---- | ---------- |
1657| hashCode | string | 是   | 通知唯一ID。 |
1658| reason   | [RemoveReason](#removereason9) | 是   | 通知删除原因。         |
1659
1660**示例:**
1661
1662```js
1663let hashCode = 'hashCode';
1664let reason = Notification.RemoveReason.CLICK_REASON_REMOVE;
1665Notification.remove(hashCode, reason).then(() => {
1666	console.info("remove success");
1667});
1668```
1669
1670
1671
1672## Notification.removeAll
1673
1674removeAll(bundle: BundleOption, callback: AsyncCallback\<void\>): void
1675
1676删除指定应用的所有通知(Callback形式)。
1677
1678**系统能力**:SystemCapability.Notification.Notification
1679
1680**系统API**:此接口为系统接口,三方应用不支持调用。
1681
1682**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1683
1684**参数:**
1685
1686| 参数名     | 类型                  | 必填 | 说明                         |
1687| -------- | --------------------- | ---- | ---------------------------- |
1688| bundle   | [BundleOption](#bundleoption)          | 是   | 指定应用的包信息。                   |
1689| callback | AsyncCallback\<void\> | 是   | 删除指定应用的所有通知回调函数。 |
1690
1691**示例:**
1692
1693```js
1694function removeAllCallback(err) {
1695    if (err.code) {
1696        console.info("removeAll failed " + JSON.stringify(err));
1697    } else {
1698        console.info("removeAll success");
1699    }
1700}
1701let bundle = {
1702    bundle: "bundleName1",
1703};
1704Notification.removeAll(bundle, removeAllCallback);
1705```
1706
1707
1708
1709## Notification.removeAll
1710
1711removeAll(callback: AsyncCallback\<void\>): void
1712
1713删除所有通知(Callback形式)。
1714
1715**系统能力**:SystemCapability.Notification.Notification
1716
1717**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1718
1719**系统API**: 此接口为系统接口,三方应用不支持调用。
1720
1721**参数:**
1722
1723| 参数名     | 类型                  | 必填 | 说明                 |
1724| -------- | --------------------- | ---- | -------------------- |
1725| callback | AsyncCallback\<void\> | 是   | 删除所有通知回调函数。 |
1726
1727**示例:**
1728
1729```js
1730function removeAllCallback(err) {
1731    if (err.code) {
1732        console.info("removeAll failed " + JSON.stringify(err));
1733    } else {
1734        console.info("removeAll success");
1735    }
1736}
1737
1738Notification.removeAll(removeAllCallback);
1739```
1740
1741
1742
1743## Notification.removeAll
1744
1745removeAll(bundle?: BundleOption): Promise\<void\>
1746
1747删除指定应用的所有通知(Promise形式)。
1748
1749**系统能力**:SystemCapability.Notification.Notification
1750
1751**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1752
1753**系统API**: 此接口为系统接口,三方应用不支持调用。
1754
1755**参数:**
1756
1757| 参数名   | 类型         | 必填 | 说明       |
1758| ------ | ------------ | ---- | ---------- |
1759| bundle | [BundleOption](#bundleoption) | 否   | 指定应用的包信息。 |
1760
1761**示例:**
1762
1763```js
1764// 不指定应用时,删除所有通知
1765Notification.removeAll().then(() => {
1766	console.info("removeAll success");
1767});
1768```
1769
1770## Notification.removeAll<sup>8+</sup>
1771
1772removeAll(userId: number, callback: AsyncCallback\<void>): void
1773
1774删除指定用户下的所有通知(callback形式)。
1775
1776**系统能力**:SystemCapability.Notification.Notification
1777
1778**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1779
1780**系统API**: 此接口为系统接口,三方应用不支持调用。
1781
1782**参数:**
1783
1784| 参数名   | 类型         | 必填 | 说明       |
1785| ------ | ------------ | ---- | ---------- |
1786| userId | number | 是   | 用户ID。 |
1787| callback | AsyncCallback\<void\> | 是   | 删除指定用户所有通知回调函数。 |
1788
1789**示例:**
1790
1791```js
1792function removeAllCallback(err) {
1793    if (err.code) {
1794        console.info("removeAll failed " + JSON.stringify(err));
1795    } else {
1796        console.info("removeAll success");
1797    }
1798}
1799
1800let userId = 1;
1801Notification.removeAll(userId, removeAllCallback);
1802```
1803
1804## Notification.removeAll<sup>8+</sup>
1805
1806removeAll(userId: number): Promise\<void>
1807
1808删除指定用户下的所有通知(Promise形式)。
1809
1810**系统能力**:SystemCapability.Notification.Notification
1811
1812**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1813
1814**系统API**: 此接口为系统接口,三方应用不支持调用。
1815
1816**参数:**
1817
1818| 参数名   | 类型         | 必填 | 说明       |
1819| ------ | ------------ | ---- | ---------- |
1820| userId | number | 是   | 用户ID。 |
1821
1822**示例:**
1823
1824```js
1825let userId = 1;
1826Notification.removeAll(userId).then(() => {
1827	console.info("removeAll success");
1828});
1829```
1830
1831
1832## Notification.getAllActiveNotifications
1833
1834getAllActiveNotifications(callback: AsyncCallback\<Array\<NotificationRequest>>): void
1835
1836获取当前未删除的所有通知(Callback形式)。
1837
1838**系统能力**:SystemCapability.Notification.Notification
1839
1840**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1841
1842**系统API**: 此接口为系统接口,三方应用不支持调用。
1843
1844**参数:**
1845
1846| 参数名     | 类型                                                         | 必填 | 说明                 |
1847| -------- | ------------------------------------------------------------ | ---- | -------------------- |
1848| callback | AsyncCallback\<Array\<[NotificationRequest](#notificationrequest)>> | 是   | 获取活动通知回调函数。 |
1849
1850**示例:**
1851
1852```js
1853function getAllActiveNotificationsCallback(err, data) {
1854    if (err.code) {
1855        console.info("getAllActiveNotifications failed " + JSON.stringify(err));
1856    } else {
1857        console.info("getAllActiveNotifications success");
1858    }
1859}
1860
1861Notification.getAllActiveNotifications(getAllActiveNotificationsCallback);
1862```
1863
1864
1865
1866## Notification.getAllActiveNotifications
1867
1868getAllActiveNotifications(): Promise\<Array\<[NotificationRequest](#notificationrequest)>>
1869
1870获取当前未删除的所有通知(Promise形式)。
1871
1872**系统能力**:SystemCapability.Notification.Notification
1873
1874**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
1875
1876**系统API**: 此接口为系统接口,三方应用不支持调用。
1877
1878**返回值:**
1879
1880| 类型                                                        | 说明                                                         |
1881| ----------------------------------------------------------- | ------------------------------------------------------------ |
1882| Promise\<Array\<[NotificationRequest](#notificationrequest)>> | 以Promise形式返回获取活动通知。 |
1883
1884**示例:**
1885
1886```js
1887Notification.getAllActiveNotifications().then((data) => {
1888	console.info("getAllActiveNotifications success, data: " + JSON.stringify(data));
1889});
1890```
1891
1892
1893
1894## Notification.getActiveNotificationCount
1895
1896getActiveNotificationCount(callback: AsyncCallback\<number\>): void
1897
1898获取当前应用未删除的通知数(Callback形式)。
1899
1900**系统能力**:SystemCapability.Notification.Notification
1901
1902**参数:**
1903
1904| 参数名     | 类型                   | 必填 | 说明                   |
1905| -------- | ---------------------- | ---- | ---------------------- |
1906| callback | AsyncCallback\<number\> | 是   | 获取未删除通知数回调函数。 |
1907
1908**示例:**
1909
1910```js
1911function getActiveNotificationCountCallback(err, data) {
1912    if (err.code) {
1913        console.info("getActiveNotificationCount failed " + JSON.stringify(err));
1914    } else {
1915        console.info("getActiveNotificationCount success");
1916    }
1917}
1918
1919Notification.getActiveNotificationCount(getActiveNotificationCountCallback);
1920```
1921
1922
1923
1924## Notification.getActiveNotificationCount
1925
1926getActiveNotificationCount(): Promise\<number\>
1927
1928获取当前应用未删除的通知数(Promise形式)。
1929
1930**系统能力**:SystemCapability.Notification.Notification
1931
1932**返回值:**
1933
1934| 类型              | 说明                                        |
1935| ----------------- | ------------------------------------------- |
1936| Promise\<number\> | 以Promise形式返回获取当前应用未删除通知数。 |
1937
1938**示例:**
1939
1940```js
1941Notification.getActiveNotificationCount().then((data) => {
1942	console.info("getActiveNotificationCount success, data: " + JSON.stringify(data));
1943});
1944```
1945
1946
1947
1948## Notification.getActiveNotifications
1949
1950getActiveNotifications(callback: AsyncCallback<Array\<NotificationRequest\>>): void
1951
1952获取当前应用未删除的通知列表(Callback形式)。
1953
1954**系统能力**:SystemCapability.Notification.Notification
1955
1956**参数:**
1957
1958| 参数名     | 类型                                                         | 必填 | 说明                           |
1959| -------- | ------------------------------------------------------------ | ---- | ------------------------------ |
1960| callback | AsyncCallback<Array\<[NotificationRequest](#notificationrequest)\>> | 是   | 获取当前应用通知列表回调函数。 |
1961
1962**示例:**
1963
1964```js
1965function getActiveNotificationsCallback(err, data) {
1966    if (err.code) {
1967        console.info("getActiveNotifications failed " + JSON.stringify(err));
1968    } else {
1969        console.info("getActiveNotifications success");
1970    }
1971}
1972
1973Notification.getActiveNotifications(getActiveNotificationsCallback);
1974```
1975
1976
1977
1978## Notification.getActiveNotifications
1979
1980getActiveNotifications(): Promise\<Array\<[NotificationRequest](#notificationrequest)\>\>
1981
1982获取当前应用未删除的通知列表(Promise形式)。
1983
1984**系统能力**:SystemCapability.Notification.Notification
1985
1986**返回值:**
1987
1988| 类型                                                         | 说明                                    |
1989| ------------------------------------------------------------ | --------------------------------------- |
1990| Promise\<Array\<[NotificationRequest](#notificationrequest)\>\> | 以Promise形式返回获取当前应用通知列表。 |
1991
1992**示例:**
1993
1994```js
1995Notification.getActiveNotifications().then((data) => {
1996	console.info("removeGroupByBundle success, data: " + JSON.stringify(data));
1997});
1998```
1999
2000
2001
2002## Notification.cancelGroup<sup>8+</sup>
2003
2004cancelGroup(groupName: string, callback: AsyncCallback\<void\>): void
2005
2006取消本应用指定组下的通知(Callback形式)。
2007
2008**系统能力**:SystemCapability.Notification.Notification
2009
2010**参数:**
2011
2012| 参数名      | 类型                  | 必填 | 说明                         |
2013| --------- | --------------------- | ---- | ---------------------------- |
2014| groupName | string                | 是   | 通知组名称,此名称需要在发布通知时通过[NotificationRequest](#notificationrequest)对象指定。 |
2015| callback  | AsyncCallback\<void\> | 是   | 取消本应用指定组下通知的回调函数。 |
2016
2017**示例:**
2018
2019```js
2020function cancelGroupCallback(err) {
2021    if (err.code) {
2022        console.info("cancelGroup failed " + JSON.stringify(err));
2023    } else {
2024        console.info("cancelGroup success");
2025    }
2026}
2027
2028let groupName = "GroupName";
2029
2030Notification.cancelGroup(groupName, cancelGroupCallback);
2031```
2032
2033
2034
2035## Notification.cancelGroup<sup>8+</sup>
2036
2037cancelGroup(groupName: string): Promise\<void\>
2038
2039取消本应用指定组下的通知(Promise形式)。
2040
2041**系统能力**:SystemCapability.Notification.Notification
2042
2043**参数:**
2044
2045| 参数名      | 类型   | 必填 | 说明           |
2046| --------- | ------ | ---- | -------------- |
2047| groupName | string | 是   | 通知组名称。 |
2048
2049**示例:**
2050
2051```js
2052let groupName = "GroupName";
2053Notification.cancelGroup(groupName).then(() => {
2054	console.info("cancelGroup success");
2055});
2056```
2057
2058
2059
2060## Notification.removeGroupByBundle<sup>8+</sup>
2061
2062removeGroupByBundle(bundle: BundleOption, groupName: string, callback: AsyncCallback\<void\>): void
2063
2064删除指定应用的指定组下的通知(Callback形式)。
2065
2066**系统能力**:SystemCapability.Notification.Notification
2067
2068**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2069
2070**系统API**: 此接口为系统接口,三方应用不支持调用。
2071
2072**参数:**
2073
2074| 参数名      | 类型                  | 必填 | 说明                         |
2075| --------- | --------------------- | ---- | ---------------------------- |
2076| bundle    | [BundleOption](#bundleoption)          | 是   | 应用的包信息。                   |
2077| groupName | string                | 是   | 通知组名称。               |
2078| callback  | AsyncCallback\<void\> | 是   | 删除指定应用指定组下通知的回调函数。 |
2079
2080**示例:**
2081
2082```js
2083function removeGroupByBundleCallback(err) {
2084    if (err.code) {
2085        console.info("removeGroupByBundle failed " + JSON.stringify(err));
2086    } else {
2087        console.info("removeGroupByBundle success");
2088    }
2089}
2090
2091let bundleOption = {bundle: "Bundle"};
2092let groupName = "GroupName";
2093
2094Notification.removeGroupByBundle(bundleOption, groupName, removeGroupByBundleCallback);
2095```
2096
2097
2098
2099## Notification.removeGroupByBundle<sup>8+</sup>
2100
2101removeGroupByBundle(bundle: BundleOption, groupName: string): Promise\<void\>
2102
2103删除指定应用的指定组下的通知(Promise形式)。
2104
2105**系统能力**:SystemCapability.Notification.Notification
2106
2107**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2108
2109**系统API**: 此接口为系统接口,三方应用不支持调用。
2110
2111**参数:**
2112
2113| 参数名      | 类型         | 必填 | 说明           |
2114| --------- | ------------ | ---- | -------------- |
2115| bundle    | [BundleOption](#bundleoption) | 是   | 应用的包信息。     |
2116| groupName | string       | 是   | 通知组名称。 |
2117
2118**示例:**
2119
2120```js
2121let bundleOption = {bundle: "Bundle"};
2122let groupName = "GroupName";
2123Notification.removeGroupByBundle(bundleOption, groupName).then(() => {
2124	console.info("removeGroupByBundle success");
2125});
2126```
2127
2128
2129
2130## Notification.setDoNotDisturbDate<sup>8+</sup>
2131
2132setDoNotDisturbDate(date: DoNotDisturbDate, callback: AsyncCallback\<void\>): void
2133
2134设置免打扰时间(Callback形式)。
2135
2136**系统能力**:SystemCapability.Notification.Notification
2137
2138**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2139
2140**系统API**: 此接口为系统接口,三方应用不支持调用。
2141
2142**参数:**
2143
2144| 参数名     | 类型                  | 必填 | 说明                   |
2145| -------- | --------------------- | ---- | ---------------------- |
2146| date     | [DoNotDisturbDate](#donotdisturbdate8)      | 是   | 免打扰时间选项。         |
2147| callback | AsyncCallback\<void\> | 是   | 设置免打扰时间回调函数。 |
2148
2149**示例:**
2150
2151```js
2152function setDoNotDisturbDateCallback(err) {
2153    if (err.code) {
2154        console.info("setDoNotDisturbDate failed " + JSON.stringify(err));
2155    } else {
2156        console.info("setDoNotDisturbDate success");
2157    }
2158}
2159
2160let doNotDisturbDate = {
2161    type: Notification.DoNotDisturbType.TYPE_ONCE,
2162    begin: new Date(),
2163    end: new Date(2021, 11, 15, 18, 0)
2164};
2165
2166Notification.setDoNotDisturbDate(doNotDisturbDate, setDoNotDisturbDateCallback);
2167```
2168
2169
2170
2171## Notification.setDoNotDisturbDate<sup>8+</sup>
2172
2173setDoNotDisturbDate(date: DoNotDisturbDate): Promise\<void\>
2174
2175设置免打扰时间(Promise形式)。
2176
2177**系统能力**:SystemCapability.Notification.Notification
2178
2179**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2180
2181**系统API**: 此接口为系统接口,三方应用不支持调用。
2182
2183**参数:**
2184
2185| 参数名 | 类型             | 必填 | 说明           |
2186| ---- | ---------------- | ---- | -------------- |
2187| date | [DoNotDisturbDate](#donotdisturbdate8) | 是   | 免打扰时间选项。 |
2188
2189**示例:**
2190
2191```js
2192let doNotDisturbDate = {
2193    type: Notification.DoNotDisturbType.TYPE_ONCE,
2194    begin: new Date(),
2195    end: new Date(2021, 11, 15, 18, 0)
2196};
2197Notification.setDoNotDisturbDate(doNotDisturbDate).then(() => {
2198	console.info("setDoNotDisturbDate success");
2199});
2200```
2201
2202
2203## Notification.setDoNotDisturbDate<sup>8+</sup>
2204
2205setDoNotDisturbDate(date: DoNotDisturbDate, userId: number, callback: AsyncCallback\<void\>): void
2206
2207指定用户设置免打扰时间(Callback形式)。
2208
2209**系统能力**:SystemCapability.Notification.Notification
2210
2211**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2212
2213**系统API**: 此接口为系统接口,三方应用不支持调用。
2214
2215**参数:**
2216
2217| 参数名     | 类型                  | 必填 | 说明                   |
2218| -------- | --------------------- | ---- | ---------------------- |
2219| date     | [DoNotDisturbDate](#donotdisturbdate8)      | 是   | 免打扰时间选项。         |
2220| userId   | number                | 是   | 设置免打扰时间的用户ID。 |
2221| callback | AsyncCallback\<void\> | 是   | 设置免打扰时间回调函数。 |
2222
2223**示例:**
2224
2225```js
2226function setDoNotDisturbDateCallback(err) {
2227    if (err.code) {
2228        console.info("setDoNotDisturbDate failed " + JSON.stringify(err));
2229    } else {
2230        console.info("setDoNotDisturbDate success");
2231    }
2232}
2233
2234let doNotDisturbDate = {
2235    type: Notification.DoNotDisturbType.TYPE_ONCE,
2236    begin: new Date(),
2237    end: new Date(2021, 11, 15, 18, 0)
2238};
2239
2240let userId = 1
2241Notification.setDoNotDisturbDate(doNotDisturbDate, userId, setDoNotDisturbDateCallback);
2242```
2243
2244
2245
2246## Notification.setDoNotDisturbDate<sup>8+</sup>
2247
2248setDoNotDisturbDate(date: DoNotDisturbDate, userId: number): Promise\<void\>
2249
2250指定用户设置免打扰时间(Promise形式)。
2251
2252**系统能力**:SystemCapability.Notification.Notification
2253
2254**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2255
2256**系统API**: 此接口为系统接口,三方应用不支持调用。
2257
2258**参数:**
2259
2260| 参数名   | 类型             | 必填 | 说明           |
2261| ------ | ---------------- | ---- | -------------- |
2262| date   | [DoNotDisturbDate](#donotdisturbdate8) | 是   | 免打扰时间选项。 |
2263| userId | number           | 是   | 设置免打扰时间的用户ID。 |
2264
2265**示例:**
2266
2267```js
2268let doNotDisturbDate = {
2269    type: Notification.DoNotDisturbType.TYPE_ONCE,
2270    begin: new Date(),
2271    end: new Date(2021, 11, 15, 18, 0)
2272};
2273
2274let userId = 1;
2275
2276Notification.setDoNotDisturbDate(doNotDisturbDate, userId).then(() => {
2277	console.info("setDoNotDisturbDate success");
2278});
2279```
2280
2281
2282## Notification.getDoNotDisturbDate<sup>8+</sup>
2283
2284getDoNotDisturbDate(callback: AsyncCallback\<DoNotDisturbDate\>): void
2285
2286查询免打扰时间(Callback形式)。
2287
2288**系统能力**:SystemCapability.Notification.Notification
2289
2290**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2291
2292**系统API**: 此接口为系统接口,三方应用不支持调用。
2293
2294**参数:**
2295
2296| 参数名     | 类型                              | 必填 | 说明                   |
2297| -------- | --------------------------------- | ---- | ---------------------- |
2298| callback | AsyncCallback\<[DoNotDisturbDate](#donotdisturbdate8)\> | 是   | 查询免打扰时间回调函数。 |
2299
2300**示例:**
2301
2302```js
2303function getDoNotDisturbDateCallback(err, data) {
2304    if (err.code) {
2305        console.info("getDoNotDisturbDate failed " + JSON.stringify(err));
2306    } else {
2307        console.info("getDoNotDisturbDate success");
2308    }
2309}
2310
2311Notification.getDoNotDisturbDate(getDoNotDisturbDateCallback);
2312```
2313
2314
2315
2316## Notification.getDoNotDisturbDate<sup>8+</sup>
2317
2318getDoNotDisturbDate(): Promise\<DoNotDisturbDate\>
2319
2320查询免打扰时间(Promise形式)。
2321
2322**系统能力**:SystemCapability.Notification.Notification
2323
2324**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2325
2326**系统API**: 此接口为系统接口,三方应用不支持调用。
2327
2328**返回值:**
2329
2330| 类型                                              | 说明                                      |
2331| ------------------------------------------------- | ----------------------------------------- |
2332| Promise\<[DoNotDisturbDate](#donotdisturbdate8)\> | 以Promise形式返回获取查询到的免打扰时间。 |
2333
2334**示例:**
2335
2336```js
2337Notification.getDoNotDisturbDate().then((data) => {
2338	console.info("getDoNotDisturbDate success, data: " + JSON.stringify(data));
2339});
2340```
2341
2342
2343## Notification.getDoNotDisturbDate<sup>8+</sup>
2344
2345getDoNotDisturbDate(userId: number, callback: AsyncCallback\<DoNotDisturbDate\>): void
2346
2347查询指定用户的免打扰时间(Callback形式)。
2348
2349**系统能力**:SystemCapability.Notification.Notification
2350
2351**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2352
2353**系统API**: 此接口为系统接口,三方应用不支持调用。
2354
2355**参数:**
2356
2357| 参数名     | 类型                              | 必填 | 说明                   |
2358| -------- | --------------------------------- | ---- | ---------------------- |
2359| callback | AsyncCallback\<[DoNotDisturbDate](#donotdisturbdate8)\> | 是   | 查询免打扰时间回调函数。 |
2360| userId   | number                            | 是   | 用户ID。 |
2361
2362**示例:**
2363
2364```js
2365function getDoNotDisturbDateCallback(err,data) {
2366    if (err.code) {
2367        console.info("getDoNotDisturbDate failed " + JSON.stringify(err));
2368    } else {
2369        console.info("getDoNotDisturbDate success");
2370    }
2371}
2372
2373let userId = 1;
2374
2375Notification.getDoNotDisturbDate(userId, getDoNotDisturbDateCallback);
2376```
2377
2378
2379
2380## Notification.getDoNotDisturbDate<sup>8+</sup>
2381
2382getDoNotDisturbDate(userId: number): Promise\<DoNotDisturbDate\>
2383
2384查询指定用户的免打扰时间(Promise形式)。
2385
2386**系统能力**:SystemCapability.Notification.Notification
2387
2388**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2389
2390**系统API**: 此接口为系统接口,三方应用不支持调用。
2391
2392**参数:**
2393
2394| 参数名     | 类型                              | 必填 | 说明                   |
2395| -------- | --------------------------------- | ---- | ---------------------- |
2396| userId   | number                            | 是   | 用户ID。 |
2397
2398**返回值:**
2399
2400| 类型                                              | 说明                                      |
2401| ------------------------------------------------- | ----------------------------------------- |
2402| Promise\<[DoNotDisturbDate](#donotdisturbdate8)\> | 以Promise形式返回获取查询到的免打扰时间。 |
2403
2404**示例:**
2405
2406```js
2407let userId = 1;
2408
2409Notification.getDoNotDisturbDate(userId).then((data) => {
2410	console.info("getDoNotDisturbDate success, data: " + JSON.stringify(data));
2411});
2412```
2413
2414
2415## Notification.supportDoNotDisturbMode<sup>8+</sup>
2416
2417supportDoNotDisturbMode(callback: AsyncCallback\<boolean\>): void
2418
2419查询是否支持免打扰功能(Callback形式)。
2420
2421**系统能力**:SystemCapability.Notification.Notification
2422
2423**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2424
2425**系统API**: 此接口为系统接口,三方应用不支持调用。
2426
2427**参数:**
2428
2429| 参数名     | 类型                     | 必填 | 说明                             |
2430| -------- | ------------------------ | ---- | -------------------------------- |
2431| callback | AsyncCallback\<boolean\> | 是   | 查询是否支持免打扰功能回调函数。 |
2432
2433**示例:**
2434
2435```js
2436function supportDoNotDisturbModeCallback(err,data) {
2437    if (err.code) {
2438        console.info("supportDoNotDisturbMode failed " + JSON.stringify(err));
2439    } else {
2440        console.info("supportDoNotDisturbMode success");
2441    }
2442}
2443
2444Notification.supportDoNotDisturbMode(supportDoNotDisturbModeCallback);
2445```
2446
2447
2448
2449## Notification.supportDoNotDisturbMode<sup>8+</sup>
2450
2451supportDoNotDisturbMode(): Promise\<boolean\>
2452
2453查询是否支持免打扰功能(Promise形式)。
2454
2455**系统能力**:SystemCapability.Notification.Notification
2456
2457**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2458
2459**系统API**: 此接口为系统接口,三方应用不支持调用。
2460
2461**返回值:**
2462
2463| 类型                                                        | 说明                                                         |
2464| ----------------------------------------------------------- | ------------------------------------------------------------ |
2465| Promise\<boolean\> | 以Promise形式返回获取是否支持免打扰功能的结果。 |
2466
2467**示例:**
2468
2469```js
2470Notification.supportDoNotDisturbMode().then((data) => {
2471	console.info("supportDoNotDisturbMode success, data: " + JSON.stringify(data));
2472});
2473```
2474
2475
2476
2477## Notification.isSupportTemplate<sup>8+</sup>
2478
2479isSupportTemplate(templateName: string, callback: AsyncCallback\<boolean\>): void
2480
2481查询模板是否存在(Callback形式)。
2482
2483**系统能力**:SystemCapability.Notification.Notification
2484
2485**参数:**
2486
2487| 参数名       | 类型                     | 必填 | 说明                       |
2488| ------------ | ------------------------ | ---- | -------------------------- |
2489| templateName | string                   | 是   | 模板名称。                   |
2490| callback     | AsyncCallback\<boolean\> | 是   | 查询模板是否存在的回调函数。 |
2491
2492**示例:**
2493
2494```javascript
2495let templateName = 'process';
2496function isSupportTemplateCallback(err, data) {
2497    if (err.code) {
2498        console.info("isSupportTemplate failed " + JSON.stringify(err));
2499    } else {
2500        console.info("isSupportTemplate success");
2501    }
2502}
2503
2504Notification.isSupportTemplate(templateName, isSupportTemplateCallback);
2505```
2506
2507
2508
2509## Notification.isSupportTemplate<sup>8+</sup>
2510
2511isSupportTemplate(templateName: string): Promise\<boolean\>
2512
2513查询模板是否存在(Promise形式)。
2514
2515**系统能力**:SystemCapability.Notification.Notification
2516
2517**参数:**
2518
2519| 参数名       | 类型   | 必填 | 说明     |
2520| ------------ | ------ | ---- | -------- |
2521| templateName | string | 是   | 模板名称。 |
2522
2523**返回值:**
2524
2525| 类型               | 说明            |
2526| ------------------ | --------------- |
2527| Promise\<boolean\> | Promise方式返回模板是否存在的结果。 |
2528
2529**示例:**
2530
2531```javascript
2532let templateName = 'process';
2533
2534Notification.isSupportTemplate(templateName).then((data) => {
2535    console.info("isSupportTemplate success, data: " + JSON.stringify(data));
2536});
2537```
2538
2539
2540
2541## Notification.requestEnableNotification<sup>8+</sup>
2542
2543requestEnableNotification(callback: AsyncCallback\<void\>): void
2544
2545应用请求通知使能(Callback形式)。
2546
2547**系统能力**:SystemCapability.Notification.Notification
2548
2549**参数:**
2550
2551| 参数名   | 类型                     | 必填 | 说明                       |
2552| -------- | ------------------------ | ---- | -------------------------- |
2553| callback | AsyncCallback\<void\> | 是   | 应用请求通知使能的回调函数。 |
2554
2555**示例:**
2556
2557```javascript
2558function requestEnableNotificationCallback(err) {
2559    if (err.code) {
2560        console.info("requestEnableNotification failed " + JSON.stringify(err));
2561    } else {
2562        console.info("requestEnableNotification success");
2563    }
2564};
2565
2566Notification.requestEnableNotification(requestEnableNotificationCallback);
2567```
2568
2569
2570
2571## Notification.requestEnableNotification<sup>8+</sup>
2572
2573requestEnableNotification(): Promise\<void\>
2574
2575应用请求通知使能(Promise形式)。
2576
2577**系统能力**:SystemCapability.Notification.Notification
2578
2579**示例:**
2580
2581```javascript
2582Notification.requestEnableNotification().then(() => {
2583    console.info("requestEnableNotification success");
2584});
2585```
2586
2587
2588## Notification.enableDistributed<sup>8+</sup>
2589
2590enableDistributed(enable: boolean, callback: AsyncCallback\<void\>): void
2591
2592设置设备是否支持分布式通知(Callback形式)。
2593
2594**系统能力**:SystemCapability.Notification.Notification
2595
2596**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2597
2598**系统API**: 此接口为系统接口,三方应用不支持调用。
2599
2600**参数:**
2601
2602| 参数名   | 类型                     | 必填 | 说明                       |
2603| -------- | ------------------------ | ---- | -------------------------- |
2604| enable   | boolean                  | 是   | 是否支持。 |
2605| callback | AsyncCallback\<void\> | 是   | 设置设备是否支持分布式通知的回调函数。 |
2606
2607**示例:**
2608
2609```javascript
2610function enabledNotificationCallback(err) {
2611    if (err.code) {
2612        console.info("enableDistributed failed " + JSON.stringify(err));
2613    } else {
2614        console.info("enableDistributed success");
2615    }
2616};
2617
2618let enable = true;
2619
2620Notification.enableDistributed(enable, enabledNotificationCallback);
2621```
2622
2623
2624
2625## Notification.enableDistributed<sup>8+</sup>
2626
2627enableDistributed(enable: boolean): Promise\<void>
2628
2629设置设备是否支持分布式通知(Promise形式)。
2630
2631**系统能力**:SystemCapability.Notification.Notification
2632
2633**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2634
2635**系统API**: 此接口为系统接口,三方应用不支持调用。
2636
2637**参数:**
2638
2639| 参数名   | 类型                     | 必填 | 说明                       |
2640| -------- | ------------------------ | ---- | -------------------------- |
2641| enable   | boolean                  | 是   | 是否支持。 |
2642
2643**示例:**
2644
2645```javascript
2646let enable = true;
2647Notification.enableDistributed(enable).then(() => {
2648    console.info("enableDistributed success");
2649});
2650```
2651
2652
2653## Notification.isDistributedEnabled<sup>8+</sup>
2654
2655isDistributedEnabled(callback: AsyncCallback\<boolean>): void
2656
2657查询设备是否支持分布式通知(Callback形式)。
2658
2659**系统能力**:SystemCapability.Notification.Notification
2660
2661**参数:**
2662
2663| 参数名   | 类型                     | 必填 | 说明                       |
2664| -------- | ------------------------ | ---- | -------------------------- |
2665| callback | AsyncCallback\<boolean\> | 是   | 设备是否支持分布式通知的回调函数。 |
2666
2667**示例:**
2668
2669```javascript
2670function isDistributedEnabledCallback(err, data) {
2671    if (err.code) {
2672        console.info("isDistributedEnabled failed " + JSON.stringify(err));
2673    } else {
2674        console.info("isDistributedEnabled success " + JSON.stringify(data));
2675    }
2676};
2677
2678Notification.isDistributedEnabled(isDistributedEnabledCallback);
2679```
2680
2681
2682
2683## Notification.isDistributedEnabled<sup>8+</sup>
2684
2685isDistributedEnabled(): Promise\<boolean>
2686
2687查询设备是否支持分布式通知(Promise形式)。
2688
2689**系统能力**:SystemCapability.Notification.Notification
2690
2691**返回值:**
2692
2693| 类型               | 说明                                          |
2694| ------------------ | --------------------------------------------- |
2695| Promise\<boolean\> | Promise方式返回设备是否支持分布式通知的结果。 |
2696
2697**示例:**
2698
2699```javascript
2700Notification.isDistributedEnabled().then((data) => {
2701    console.info("isDistributedEnabled success, data: " + JSON.stringify(data));
2702});
2703```
2704
2705
2706## Notification.enableDistributedByBundle<sup>8+</sup>
2707
2708enableDistributedByBundle(bundle: BundleOption, enable: boolean, callback: AsyncCallback\<void>): void
2709
2710设置指定应用是否支持分布式通知(Callback形式)。
2711
2712**系统能力**:SystemCapability.Notification.Notification
2713
2714**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2715
2716**系统API**: 此接口为系统接口,三方应用不支持调用。
2717
2718**参数:**
2719
2720| 参数名   | 类型                     | 必填 | 说明                       |
2721| -------- | ------------------------ | ---- | -------------------------- |
2722| bundle   | [BundleOption](#bundleoption)             | 是   | 应用的包信息。                   |
2723| enable   | boolean                  | 是   | 是否支持。                       |
2724| callback | AsyncCallback\<void\> | 是   | 应用程序是否支持分布式通知的回调函数。 |
2725
2726**示例:**
2727
2728```javascript
2729function enableDistributedByBundleCallback(err) {
2730    if (err.code) {
2731        console.info("enableDistributedByBundle failed " + JSON.stringify(err));
2732    } else {
2733        console.info("enableDistributedByBundle success");
2734    }
2735};
2736
2737let bundle = {
2738    bundle: "bundleName1",
2739};
2740
2741let enable = true;
2742
2743Notification.enableDistributedByBundle(bundle, enable, enableDistributedByBundleCallback);
2744```
2745
2746
2747
2748## Notification.enableDistributedByBundle<sup>8+</sup>
2749
2750enableDistributedByBundle(bundle: BundleOption, enable: boolean): Promise\<void>
2751
2752设置指定应用是否支持分布式通知(Promise形式)。
2753
2754**系统能力**:SystemCapability.Notification.Notification
2755
2756**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2757
2758**系统API**: 此接口为系统接口,三方应用不支持调用。
2759
2760**参数:**
2761
2762| 参数名   | 类型                     | 必填 | 说明                       |
2763| -------- | ------------------------ | ---- | -------------------------- |
2764| bundle   | [BundleOption](#bundleoption)             | 是   | 应用的包。                |
2765| enable   | boolean                  | 是   | 是否支持。                  |
2766
2767**示例:**
2768
2769```javascript
2770let bundle = {
2771    bundle: "bundleName1",
2772};
2773
2774let enable = true;
2775Notification.enableDistributedByBundle(bundle, enable).then(() => {
2776    console.info("enableDistributedByBundle success");
2777});
2778```
2779
2780## Notification.isDistributedEnabledByBundle<sup>8+</sup>
2781
2782isDistributedEnabledByBundle(bundle: BundleOption, callback: AsyncCallback\<boolean>): void
2783
2784根据应用的包获取应用程序是否支持分布式通知(Callback形式)。
2785
2786**系统能力**:SystemCapability.Notification.Notification
2787
2788**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2789
2790**系统API**: 此接口为系统接口,三方应用不支持调用。
2791
2792**参数:**
2793
2794| 参数名   | 类型                     | 必填 | 说明                       |
2795| -------- | ------------------------ | ---- | -------------------------- |
2796| bundle   | [BundleOption](#bundleoption)             | 是   | 应用的包。                     |
2797| callback | AsyncCallback\<boolean\> | 是   | 查询指定应用是否支持分布式通知的回调函数。 |
2798
2799**示例:**
2800
2801```javascript
2802function isDistributedEnabledByBundleCallback(err, data) {
2803    if (err.code) {
2804        console.info("isDistributedEnabledByBundle failed " + JSON.stringify(err));
2805    } else {
2806        console.info("isDistributedEnabledByBundle success" + JSON.stringify(data));
2807    }
2808};
2809
2810let bundle = {
2811    bundle: "bundleName1",
2812};
2813
2814Notification.isDistributedEnabledByBundle(bundle, isDistributedEnabledByBundleCallback);
2815```
2816
2817
2818
2819## Notification.isDistributedEnabledByBundle<sup>8+</sup>
2820
2821isDistributedEnabledByBundle(bundle: BundleOption): Promise\<boolean>
2822
2823查询指定应用是否支持分布式通知(Promise形式)。
2824
2825**系统能力**:SystemCapability.Notification.Notification
2826
2827**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2828
2829**系统API**: 此接口为系统接口,三方应用不支持调用。
2830
2831**参数:**
2832
2833| 参数名   | 类型                     | 必填 | 说明                       |
2834| -------- | ------------------------ | ---- | -------------------------- |
2835| bundle   | [BundleOption](#bundleoption)             | 是   | 应用的包。                |
2836
2837**返回值:**
2838
2839| 类型               | 说明                                              |
2840| ------------------ | ------------------------------------------------- |
2841| Promise\<boolean\> | Promise方式返回指定应用是否支持分布式通知的结果。 |
2842
2843**示例:**
2844
2845```javascript
2846let bundle = {
2847    bundle: "bundleName1",
2848};
2849
2850Notification.isDistributedEnabledByBundle(bundle).then((data) => {
2851    console.info("isDistributedEnabledByBundle success, data: " + JSON.stringify(data));
2852});
2853```
2854
2855
2856## Notification.getDeviceRemindType<sup>8+</sup>
2857
2858getDeviceRemindType(callback: AsyncCallback\<DeviceRemindType\>): void
2859
2860获取通知的提醒方式(Callback形式)。
2861
2862**系统能力**:SystemCapability.Notification.Notification
2863
2864**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2865
2866**系统API**: 此接口为系统接口,三方应用不支持调用。
2867
2868**参数:**
2869
2870| 参数名   | 类型                               | 必填 | 说明                       |
2871| -------- | --------------------------------- | ---- | -------------------------- |
2872| callback | AsyncCallback\<[DeviceRemindType](#deviceremindtype8)\> | 是   | 获取通知提醒方式的回调函数。 |
2873
2874**示例:**
2875
2876```javascript
2877function getDeviceRemindTypeCallback(err,data) {
2878    if (err.code) {
2879        console.info("getDeviceRemindType failed " + JSON.stringify(err));
2880    } else {
2881        console.info("getDeviceRemindType success");
2882    }
2883};
2884
2885Notification.getDeviceRemindType(getDeviceRemindTypeCallback);
2886```
2887
2888
2889
2890## Notification.getDeviceRemindType<sup>8+</sup>
2891
2892getDeviceRemindType(): Promise\<DeviceRemindType\>
2893
2894获取通知的提醒方式(Promise形式)。
2895
2896**系统能力**:SystemCapability.Notification.Notification
2897
2898**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER
2899
2900**系统API**: 此接口为系统接口,三方应用不支持调用。
2901
2902**返回值:**
2903
2904| 类型               | 说明            |
2905| ------------------ | --------------- |
2906| Promise\<[DeviceRemindType](#deviceremindtype8)\> | Promise方式返回获取通知提醒方式的结果。 |
2907
2908**示例:**
2909
2910```javascript
2911Notification.getDeviceRemindType().then((data) => {
2912    console.info("getDeviceRemindType success, data: " + JSON.stringify(data));
2913});
2914```
2915
2916## NotificationSubscriber
2917
2918作为订阅通知接口[subscribe](#notificationsubscribe)的入参,提供订阅者接收到新通知、取消通知等的回调方法。
2919
2920**系统API**:此接口为系统接口,三方应用不支持调用。
2921
2922### onConsume
2923
2924onConsume?: (data: [SubscribeCallbackData](#subscribecallbackdata)) => void
2925
2926接收到新通知的回调函数。
2927
2928**系统能力**:SystemCapability.Notification.Notification
2929
2930**系统接口**: 此接口为系统接口,三方应用不支持调用。
2931
2932**参数:**
2933
2934| 参数名 | 类型 | 必填 | 说明 |
2935| ------------ | ------------------------ | ---- | -------------------------- |
2936| data | [SubscribeCallbackData](#subscribecallbackdata) | 是 | 新接收到的通知信息。 |
2937
2938**示例:**
2939
2940```javascript
2941function subscribeCallback(err) {
2942    if (err.code) {
2943        console.info("subscribe failed " + JSON.stringify(err));
2944    } else {
2945        console.info("subscribeCallback");
2946    }
2947};
2948
2949function onConsumeCallback(data) {
2950    let req = data.request;
2951    console.info('===> onConsume callback req.id:' + req.id);
2952};
2953
2954let subscriber = {
2955    onConsume: onConsumeCallback
2956};
2957
2958Notification.subscribe(subscriber, subscribeCallback);
2959```
2960
2961### onCancel
2962
2963onCancel?:(data: [SubscribeCallbackData](#subscribecallbackdata)) => void
2964
2965取消通知的回调函数。
2966
2967**系统能力**:SystemCapability.Notification.Notification
2968
2969**系统API**: 此接口为系统接口,三方应用不支持调用。
2970
2971**参数:**
2972
2973| 参数名 | 类型 | 必填 | 说明 |
2974| ------------ | ------------------------ | ---- | -------------------------- |
2975| data | [SubscribeCallbackData](#subscribecallbackdata) | 是 | 需要取消的通知信息。 |
2976
2977**示例:**
2978
2979```javascript
2980function subscribeCallback(err) {
2981    if (err.code) {
2982        console.info("subscribe failed " + JSON.stringify(err));
2983    } else {
2984        console.info("subscribeCallback");
2985    }
2986};
2987
2988function onCancelCallback(data) {
2989    let req = data.request;
2990    console.info('===> onCancel callback req.id:' + req.id);
2991}
2992
2993let subscriber = {
2994    onCancel: onCancelCallback
2995};
2996
2997Notification.subscribe(subscriber, subscribeCallback);
2998```
2999
3000### onUpdate
3001
3002onUpdate?:(data: [NotificationSortingMap](#notificationsortingmap)) => void
3003
3004更新通知排序的回调函数。
3005
3006**系统能力**:SystemCapability.Notification.Notification
3007
3008**系统API**: 此接口为系统接口,三方应用不支持调用。
3009
3010**参数:**
3011
3012| 参数名 | 类型 | 必填 | 说明 |
3013| ------------ | ------------------------ | ---- | -------------------------- |
3014| data | [NotificationSortingMap](#notificationsortingmap) | 是 | 最新的通知排序列表。 |
3015
3016**示例:**
3017
3018```javascript
3019function subscribeCallback(err) {
3020    if (err.code) {
3021        console.info("subscribe failed " + JSON.stringify(err));
3022    } else {
3023        console.info("subscribeCallback");
3024    }
3025};
3026
3027function onUpdateCallback(map) {
3028    console.info('===> onUpdateCallback map:' + JSON.stringify(map));
3029}
3030
3031let subscriber = {
3032    onUpdate: onUpdateCallback
3033};
3034
3035Notification.subscribe(subscriber, subscribeCallback);
3036```
3037
3038### onConnect
3039
3040onConnect?:() => void
3041
3042订阅完成的回调函数。
3043
3044**系统能力**:SystemCapability.Notification.Notification
3045
3046**系统API**: 此接口为系统接口,三方应用不支持调用。
3047
3048**示例:**
3049
3050```javascript
3051function subscribeCallback(err) {
3052    if (err.code) {
3053        console.info("subscribe failed " + JSON.stringify(err));
3054    } else {
3055        console.info("subscribeCallback");
3056    }
3057};
3058
3059function onConnectCallback() {
3060    console.info('===> onConnect in test');
3061}
3062
3063let subscriber = {
3064    onConnect: onConnectCallback
3065};
3066
3067Notification.subscribe(subscriber, subscribeCallback);
3068```
3069
3070### onDisconnect
3071
3072onDisconnect?:() => void
3073
3074取消订阅的回调函数。
3075
3076**系统能力**:SystemCapability.Notification.Notification
3077
3078**系统API**: 此接口为系统接口,三方应用不支持调用。
3079
3080**示例:**
3081
3082```javascript
3083function subscribeCallback(err) {
3084    if (err.code) {
3085        console.info("subscribe failed " + JSON.stringify(err));
3086    } else {
3087        console.info("subscribeCallback");
3088    }
3089};
3090function unsubscribeCallback(err) {
3091    if (err.code) {
3092        console.info("unsubscribe failed " + JSON.stringify(err));
3093    } else {
3094        console.info("unsubscribeCallback");
3095    }
3096};
3097
3098function onConnectCallback() {
3099    console.info('===> onConnect in test');
3100}
3101function onDisconnectCallback() {
3102    console.info('===> onDisconnect in test');
3103}
3104
3105let subscriber = {
3106    onConnect: onConnectCallback,
3107    onDisconnect: onDisconnectCallback
3108};
3109
3110// 订阅通知后会收到onConnect回调
3111Notification.subscribe(subscriber, subscribeCallback);
3112// 取消订阅后会收到onDisconnect回调
3113Notification.unsubscribe(subscriber, unsubscribeCallback);
3114```
3115
3116### onDestroy
3117
3118onDestroy?:() => void
3119
3120服务失联回调函数。
3121
3122**系统能力**:SystemCapability.Notification.Notification
3123
3124**系统API**: 此接口为系统接口,三方应用不支持调用。
3125
3126**示例:**
3127
3128```javascript
3129function subscribeCallback(err) {
3130    if (err.code) {
3131        console.info("subscribe failed " + JSON.stringify(err));
3132    } else {
3133        console.info("subscribeCallback");
3134    }
3135};
3136
3137function onDestroyCallback() {
3138    console.info('===> onDestroy in test');
3139}
3140
3141let subscriber = {
3142    onDestroy: onDestroyCallback
3143};
3144
3145Notification.subscribe(subscriber, subscribeCallback);
3146```
3147
3148### onDoNotDisturbDateChange<sup>8+</sup>
3149
3150onDoNotDisturbDateChange?:(mode: notification.[DoNotDisturbDate](#donotdisturbdate8)) => void
3151
3152免打扰时间选项发生变更时的回调函数。
3153
3154**系统能力**:SystemCapability.Notification.Notification
3155
3156**系统API**: 此接口为系统接口,三方应用不支持调用。
3157
3158**参数:**
3159
3160| 参数名 | 类型 | 必填 | 说明 |
3161| ------------ | ------------------------ | ---- | -------------------------- |
3162| mode | notification.[DoNotDisturbDate](#donotdisturbdate8) | 是 | 回调返回免打扰时间选项变更。 |
3163
3164**示例:**
3165```javascript
3166function subscribeCallback(err) {
3167    if (err.code) {
3168        console.info("subscribe failed " + JSON.stringify(err));
3169    } else {
3170        console.info("subscribeCallback");
3171    }
3172};
3173
3174function onDoNotDisturbDateChangeCallback(mode) {
3175    console.info('===> onDoNotDisturbDateChange:' + mode);
3176}
3177
3178let subscriber = {
3179    onDoNotDisturbDateChange: onDoNotDisturbDateChangeCallback
3180};
3181Notification.subscribe(subscriber, subscribeCallback);
3182
3183let doNotDisturbDate = {
3184    type: Notification.DoNotDisturbType.TYPE_ONCE,
3185    begin: new Date(),
3186    end: new Date(2021, 11, 15, 18, 0)
3187}
3188// 设置一个新的免打扰时间选项时触发onDoNotDisturbDateChange回调
3189Notification.setDoNotDisturbDate(doNotDisturbDate).then(() => {
3190	console.info("setDoNotDisturbDate sucess");
3191});
3192```
3193
3194
3195### onEnabledNotificationChanged<sup>8+</sup>
3196
3197onEnabledNotificationChanged?:(callbackData: [EnabledNotificationCallbackData](#enablednotificationcallbackdata8)) => void
3198
3199监听应用通知使能变化。
3200
3201**系统能力**:SystemCapability.Notification.Notification
3202
3203**系统API**: 此接口为系统接口,三方应用不支持调用。
3204
3205**参数:**
3206
3207| 参数名 | 类型 | 必填 | 说明 |
3208| ------------ | ------------------------ | ---- | -------------------------- |
3209| callback | AsyncCallback\<[EnabledNotificationCallbackData](#enablednotificationcallbackdata8)\> | 是 | 回调返回监听到的应用信息。 |
3210
3211**示例:**
3212
3213```javascript
3214function subscribeCallback(err) {
3215    if (err.code) {
3216        console.info("subscribe failed " + JSON.stringify(err));
3217    } else {
3218        console.info("subscribeCallback");
3219    }
3220};
3221
3222function onEnabledNotificationChangedCallback(callbackData) {
3223    console.info("bundle: " + callbackData.bundle);
3224    console.info("uid: " + callbackData.uid);
3225    console.info("enable: " + callbackData.enable);
3226};
3227
3228let subscriber = {
3229    onEnabledNotificationChanged: onEnabledNotificationChangedCallback
3230};
3231Notification.subscribe(subscriber, subscribeCallback);
3232
3233let bundle = {
3234    bundle: "bundleName1",
3235}
3236// 设置指定应用通知使能状态触发onEnabledNotificationChanged回调
3237Notification.enableNotification(bundle, false).then(() => {
3238	console.info("enableNotification sucess");
3239});
3240```
3241
3242## SubscribeCallbackData
3243
3244**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3245
3246**系统API**:此接口为系统接口,三方应用不支持调用。
3247
3248| 名称            | 类型                                              | 可读 | 可写 | 说明     |
3249| --------------- | ------------------------------------------------- | ---- | --- | -------- |
3250| request         | [NotificationRequest](#notificationrequest)       | 是  | 否  | 通知内容。 |
3251| sortingMap      | [NotificationSortingMap](#notificationsortingmap) | 是  | 否  | 通知排序信息。 |
3252| reason          | number                                            | 是  | 否  | 删除原因。 |
3253| sound           | string                                            | 是  | 否  | 通知声音。 |
3254| vibrationValues | Array\<number\>                                   | 是  | 否  | 通知震动。 |
3255
3256
3257## EnabledNotificationCallbackData<sup>8+</sup>
3258
3259**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3260
3261**系统API**:此接口为系统接口,三方应用不支持调用。
3262
3263| 名称   | 类型    | 可读 | 可写 | 说明             |
3264| ------ | ------- | ---- | --- | ---------------- |
3265| bundle | string  | 是  | 否  | 应用的包名。       |
3266| uid    | number  | 是  | 否  | 应用的uid。        |
3267| enable | boolean | 是  | 否  | 应用通知使能状态。 |
3268
3269
3270## DoNotDisturbDate<sup>8+</sup>
3271
3272**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3273
3274**系统API**:此接口为系统接口,三方应用不支持调用。
3275
3276| 名称  | 类型                                   | 可读 | 可写 | 说明                   |
3277| ----- | -------------------------------------- | ---- | ---- | ---------------------- |
3278| type  | [DoNotDisturbType](#donotdisturbtype8) | 是   | 是   | 免打扰设置的时间类型。 |
3279| begin | Date                                   | 是   | 是   | 免打扰设置的起点时间。 |
3280| end   | Date                                   | 是   | 是   | 免打扰设置的终点时间。 |
3281
3282## DoNotDisturbType<sup>8+</sup>
3283
3284**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3285
3286**系统API**: 此接口为系统接口,三方应用不支持调用。
3287
3288| 名称         | 值               | 说明                                       |
3289| ------------ | ---------------- | ------------------------------------------ |
3290| TYPE_NONE    | 0 | 非通知勿扰类型。                           |
3291| TYPE_ONCE    | 1 | 以设置时间段(只看小时和分钟)一次执行勿扰。 |
3292| TYPE_DAILY   | 2 | 以设置时间段(只看小时和分钟)每天执行勿扰。 |
3293| TYPE_CLEARLY | 3 | 以设置时间段(明确年月日时分)执行勿扰。     |
3294
3295
3296## ContentType
3297
3298**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3299
3300| 名称                              | 值          | 说明               |
3301| --------------------------------- | ----------- | ------------------ |
3302| NOTIFICATION_CONTENT_BASIC_TEXT   | NOTIFICATION_CONTENT_BASIC_TEXT | 普通类型通知。     |
3303| NOTIFICATION_CONTENT_LONG_TEXT    | NOTIFICATION_CONTENT_LONG_TEXT | 长文本类型通知。   |
3304| NOTIFICATION_CONTENT_PICTURE      | NOTIFICATION_CONTENT_PICTURE | 图片类型通知。     |
3305| NOTIFICATION_CONTENT_CONVERSATION | NOTIFICATION_CONTENT_CONVERSATION | 社交类型通知。     |
3306| NOTIFICATION_CONTENT_MULTILINE    | NOTIFICATION_CONTENT_MULTILINE | 多行文本类型通知。 |
3307
3308## SlotLevel
3309
3310**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3311
3312| 名称                              | 值          | 说明               |
3313| --------------------------------- | ----------- | ------------------ |
3314| LEVEL_NONE                        | 0           | 表示关闭通知功能。     |
3315| LEVEL_MIN                         | 1           | 表示通知功能已启用,但状态栏中不显示通知图标,且没有横幅或提示音。 |
3316| LEVEL_LOW                         | 2           | 表示通知功能已启用,且状态栏中显示通知图标,但没有横幅或提示音。 |
3317| LEVEL_DEFAULT                     | 3           | 表示通知功能已启用,状态栏中显示通知图标,没有横幅但有提示音。 |
3318| LEVEL_HIGH                        | 4           | 表示通知功能已启用,状态栏中显示通知图标,有横幅和提示音。 |
3319
3320
3321## BundleOption
3322
3323**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3324
3325| 名称   | 类型   | 可读 | 可写 | 说明   |
3326| ------ | ------ |---- | --- |  ------ |
3327| bundle | string | 是  | 是  | 应用的包信息。 |
3328| uid    | number | 是  | 是  | 用户ID。 |
3329
3330
3331
3332## NotificationKey
3333
3334**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3335
3336| 名称  | 类型   | 可读 | 可写 | 说明     |
3337| ----- | ------ | ---- | --- | -------- |
3338| id    | number | 是  | 是  | 通知ID。   |
3339| label | string | 是  | 是  | 通知标签。 |
3340
3341
3342## SlotType
3343
3344**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3345
3346| 名称                 | 值       | 说明       |
3347| -------------------- | -------- | ---------- |
3348| UNKNOWN_TYPE         | 0 | 未知类型。 |
3349| SOCIAL_COMMUNICATION | 1 | 社交类型。 |
3350| SERVICE_INFORMATION  | 2 | 服务类型。 |
3351| CONTENT_INFORMATION  | 3 | 内容类型。 |
3352| OTHER_TYPES          | 0xFFFF | 其他类型。 |
3353
3354
3355## NotificationActionButton
3356
3357描述通知中显示的操作按钮。
3358
3359**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3360
3361| 名称      | 类型                                            | 可读 | 可写 | 说明                      |
3362| --------- | ----------------------------------------------- | --- | ---- | ------------------------- |
3363| title     | string                                          | 是  | 是  | 按钮标题。                  |
3364| wantAgent | [WantAgent](js-apis-app-ability-wantAgent.md)   | 是  | 是  | 点击按钮时触发的WantAgent。 |
3365| extras    | { [key: string]: any }                          | 是  | 是  | 按钮扩展信息。              |
3366| userInput<sup>8+</sup> | [NotificationUserInput](#notificationuserinput8) | 是  | 是  | 用户输入对象实例。          |
3367
3368
3369## NotificationBasicContent
3370
3371描述普通文本通知。
3372
3373**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3374
3375| 名称           | 类型   | 可读 | 可写 | 说明                               |
3376| -------------- | ------ | ---- | ---- | ---------------------------------- |
3377| title          | string | 是   | 是   | 通知标题。                         |
3378| text           | string | 是   | 是   | 通知内容。                         |
3379| additionalText | string | 是   | 是   | 通知附加内容,是对通知内容的补充。 |
3380
3381
3382## NotificationLongTextContent
3383
3384描述长文本通知。
3385
3386**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3387
3388| 名称           | 类型   | 可读 | 可写 | 说明                             |
3389| -------------- | ------ | ---- | --- | -------------------------------- |
3390| title          | string | 是  | 是  | 通知标题。                         |
3391| text           | string | 是  | 是  | 通知内容。                         |
3392| additionalText | string | 是  | 是  | 通知附加内容,是对通知内容的补充。 |
3393| longText       | string | 是  | 是  | 通知的长文本。                     |
3394| briefText      | string | 是  | 是  | 通知概要内容,是对通知内容的总结。 |
3395| expandedTitle  | string | 是  | 是  | 通知展开时的标题。                 |
3396
3397
3398## NotificationMultiLineContent
3399
3400描述多行文本通知。
3401
3402**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3403
3404| 名称           | 类型            | 可读 | 可写 | 说明                             |
3405| -------------- | --------------- | --- | --- | -------------------------------- |
3406| title          | string          | 是  | 是  | 通知标题。                         |
3407| text           | string          | 是  | 是  | 通知内容。                         |
3408| additionalText | string          | 是  | 是  | 通知附加内容,是对通知内容的补充。 |
3409| briefText      | string          | 是  | 是  | 通知概要内容,是对通知内容的总结。 |
3410| longTitle      | string          | 是  | 是  | 通知展开时的标题。                 |
3411| lines          | Array\<string\> | 是  | 是  | 通知的多行文本。                   |
3412
3413
3414## NotificationPictureContent
3415
3416描述附有图片的通知。
3417
3418**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3419
3420| 名称           | 类型           | 可读 | 可写 | 说明                             |
3421| -------------- | -------------- | ---- | --- | -------------------------------- |
3422| title          | string         | 是  | 是  | 通知标题。                         |
3423| text           | string         | 是  | 是  | 通知内容。                         |
3424| additionalText | string         | 是  | 是  | 通知附加内容,是对通知内容的补充。 |
3425| briefText      | string         | 是  | 是  | 通知概要内容,是对通知内容的总结。 |
3426| expandedTitle  | string         | 是  | 是  | 通知展开时的标题。                 |
3427| picture        | [image.PixelMap](js-apis-image.md#pixelmap7) | 是  | 是  | 通知的图片内容。                   |
3428
3429
3430## NotificationContent
3431
3432描述通知类型。
3433
3434**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3435
3436| 名称        | 类型                                                         | 可读 | 可写 | 说明               |
3437| ----------- | ------------------------------------------------------------ | ---- | --- | ------------------ |
3438| contentType | [ContentType](#contenttype)                                  | 是  | 是  | 通知内容类型。       |
3439| normal      | [NotificationBasicContent](#notificationbasiccontent)        | 是  | 是  | 基本类型通知内容。   |
3440| longText    | [NotificationLongTextContent](#notificationlongtextcontent)  | 是  | 是  | 长文本类型通知内容。 |
3441| multiLine   | [NotificationMultiLineContent](#notificationmultilinecontent) | 是  | 是  | 多行类型通知内容。   |
3442| picture     | [NotificationPictureContent](#notificationpicturecontent)    | 是  | 是  | 图片类型通知内容。   |
3443
3444
3445## NotificationFlagStatus<sup>8+</sup>
3446
3447描述通知标志状态。
3448
3449**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3450
3451**系统接口**:此接口为系统接口,三方应用不支持调用。
3452
3453| 名称           | 值  | 说明                               |
3454| -------------- | --- | --------------------------------- |
3455| TYPE_NONE      | 0   | 默认标志。                         |
3456| TYPE_OPEN      | 1   | 通知标志打开。                     |
3457| TYPE_CLOSE     | 2   | 通知标志关闭。                     |
3458
3459
3460## NotificationFlags<sup>8+</sup>
3461
3462描述通知标志的实例。
3463
3464**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3465
3466| 名称             | 类型                    | 可读 | 可写 | 说明                               |
3467| ---------------- | ---------------------- | ---- | ---- | --------------------------------- |
3468| soundEnabled     | [NotificationFlagStatus](#notificationflagstatus8) | 是   | 否   | 是否启用声音提示。                  |
3469| vibrationEnabled | [NotificationFlagStatus](#notificationflagstatus8) | 是   | 否   | 是否启用振动提醒功能。               |
3470
3471
3472## NotificationRequest
3473
3474描述通知的请求。
3475
3476**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3477
3478| 名称                  | 类型                                          | 可读 | 可写 | 说明                       |
3479| --------------------- | --------------------------------------------- | ---- | --- | -------------------------- |
3480| content               | [NotificationContent](#notificationcontent)   | 是  | 是  | 通知内容。                   |
3481| id                    | number                                        | 是  | 是  | 通知ID。                     |
3482| slotType              | [SlotType](#slottype)                         | 是  | 是  | 通道类型。                   |
3483| isOngoing             | boolean                                       | 是  | 是  | 是否进行时通知。             |
3484| isUnremovable         | boolean                                       | 是  | 是  | 是否可移除。                 |
3485| deliveryTime          | number                                        | 是  | 是  | 通知发送时间。               |
3486| tapDismissed          | boolean                                       | 是  | 是  | 通知是否自动清除。           |
3487| autoDeletedTime       | number                                        | 是  | 是  | 自动清除的时间。             |
3488| wantAgent             | [WantAgent](js-apis-app-ability-wantAgent.md) | 是  | 是  | WantAgent封装了应用的行为意图,点击通知时触发该行为。 |
3489| extraInfo             | {[key: string]: any}                          | 是  | 是  | 扩展参数。                   |
3490| color                 | number                                        | 是  | 是  | 通知背景颜色。预留能力,暂未支持。 |
3491| colorEnabled          | boolean                                       | 是  | 是  | 通知背景颜色是否使能。预留能力,暂未支持。 |
3492| isAlertOnce           | boolean                                       | 是  | 是  | 设置是否仅有一次此通知提醒。 |
3493| isStopwatch           | boolean                                       | 是  | 是  | 是否显示已用时间。           |
3494| isCountDown           | boolean                                       | 是  | 是  | 是否显示倒计时时间。         |
3495| isFloatingIcon        | boolean                                       | 是  | 是  | 是否显示状态栏图标。         |
3496| label                 | string                                        | 是  | 是  | 通知标签。                   |
3497| badgeIconStyle        | number                                        | 是  | 是  | 通知角标类型。               |
3498| showDeliveryTime      | boolean                                       | 是  | 是  | 是否显示分发时间。           |
3499| actionButtons         | Array\<[NotificationActionButton](#notificationactionbutton)\>             | 是  | 是  | 通知按钮,最多两个按钮。     |
3500| smallIcon             | [image.PixelMap](js-apis-image.md#pixelmap7) | 是  | 是  | 通知小图标。可选字段,大小不超过30KB。 |
3501| largeIcon             | [image.PixelMap](js-apis-image.md#pixelmap7) | 是  | 是  | 通知大图标。可选字段,大小不超过30KB。 |
3502| creatorBundleName     | string                                        | 是  | 否  | 创建通知的包名。             |
3503| creatorUid            | number                                        | 是  | 否  | 创建通知的UID。              |
3504| creatorPid            | number                                        | 是  | 否  | 创建通知的PID。              |
3505| creatorUserId<sup>8+</sup>| number                                    | 是  | 否  | 创建通知的UserId。           |
3506| hashCode              | string                                        | 是  | 否  | 通知唯一标识。               |
3507| classification        | string                                        | 是  | 是  | 通知分类。<br>**系统API**: 此接口为系统接口,三方应用不支持调用。                   |
3508| groupName<sup>8+</sup>| string                                        | 是  | 是  | 组通知名称。                 |
3509| template<sup>8+</sup> | [NotificationTemplate](#notificationtemplate8) | 是  | 是  | 通知模板。                   |
3510| isRemoveAllowed<sup>8+</sup> | boolean                                | 是  | 否  | 通知是否能被移除。<br>**系统API**: 此接口为系统接口,三方应用不支持调用。                   |
3511| source<sup>8+</sup>   | number                                        | 是  | 否  | 通知源。<br>**系统API**: 此接口为系统接口,三方应用不支持调用。                   |
3512| distributedOption<sup>8+</sup>   | [DistributedOptions](#distributedoptions8)                 | 是  | 是  | 分布式通知的选项。          |
3513| deviceId<sup>8+</sup> | string                                        | 是  | 否  | 通知源的deviceId。<br>**系统API**: 此接口为系统接口,三方应用不支持调用。          |
3514| notificationFlags<sup>8+</sup> | [NotificationFlags](#notificationflags8)                    | 是  | 否  | 获取NotificationFlags。          |
3515| removalWantAgent<sup>9+</sup> | [WantAgent](js-apis-app-ability-wantAgent.md) | 是  | 是  | 当移除通知时,通知将被重定向到的WantAgent实例。          |
3516| badgeNumber<sup>9+</sup> | number                    | 是  | 是  | 应用程序图标上显示的通知数。          |
3517
3518## DistributedOptions<sup>8+</sup>
3519
3520描述分布式选项。
3521
3522**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3523
3524| 名称                   | 类型            | 可读 | 可写 | 说明                               |
3525| ---------------------- | -------------- | ---- | ---- | ---------------------------------- |
3526| isDistributed          | boolean        | 是   | 是   | 是否为分布式通知。                  |
3527| supportDisplayDevices  | Array\<string> | 是   | 是   | 可以同步通知到的设备列表。         |
3528| supportOperateDevices  | Array\<string> | 是   | 是   | 可以打开通知的设备列表。              |
3529| remindType             | number         | 是   | 否   | 通知的提醒方式。<br>**系统API**: 此接口为系统接口,三方应用不支持调用。                    |
3530
3531
3532## NotificationSlot
3533
3534描述通知槽
3535
3536**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3537
3538| 名称                 | 类型                  | 可读 | 可写 | 说明                                       |
3539| -------------------- | --------------------- | ---- | --- | ------------------------------------------ |
3540| type                 | [SlotType](#slottype) | 是  | 是  | 通道类型。                                   |
3541| level                | number                | 是  | 是  | 通知级别,不设置则根据通知渠道类型有默认值。 |
3542| desc                 | string                | 是  | 是  | 通知渠道描述信息。                           |
3543| badgeFlag            | boolean               | 是  | 是  | 是否显示角标。                               |
3544| bypassDnd            | boolean               | 是  | 是  | 置是否在系统中绕过免打扰模式。               |
3545| lockscreenVisibility | number                | 是  | 是  | 在锁定屏幕上显示通知的模式。                 |
3546| vibrationEnabled     | boolean               | 是  | 是  | 是否可振动。                                 |
3547| sound                | string                | 是  | 是  | 通知提示音。                                 |
3548| lightEnabled         | boolean               | 是  | 是  | 是否闪灯。                                   |
3549| lightColor           | number                | 是  | 是  | 通知灯颜色。                                 |
3550| vibrationValues      | Array\<number\>       | 是  | 是  | 通知振动样式。                               |
3551| enabled<sup>9+</sup> | boolean               | 是  | 否  | 此通知插槽中的启停状态。                      |
3552
3553
3554## NotificationSorting
3555
3556提供有关活动通知的排序信息。
3557
3558**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3559
3560**系统API**: 此接口为系统接口,三方应用不支持调用。
3561
3562| 名称     | 类型                                  | 可读 | 可写 | 说明         |
3563| -------- | ------------------------------------- | ---- | --- | ------------ |
3564| slot     | [NotificationSlot](#notificationslot) | 是  | 否  | 通知通道内容。 |
3565| hashCode | string                                | 是  | 否  | 通知唯一标识。 |
3566| ranking  | number                                | 是  | 否  | 通知排序序号。 |
3567
3568
3569## NotificationSortingMap
3570
3571提供关于已订阅的所有通知中活动通知的排序信息
3572
3573**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3574
3575**系统API**:此接口为系统接口,三方应用不支持调用。
3576
3577| 名称           | 类型                                                         | 可读 | 可写 | 说明             |
3578| -------------- | ------------------------------------------------------------ | ---- | --- | ---------------- |
3579| sortings       | {[key: string]: [NotificationSorting](#notificationsorting)} | 是  | 否  | 通知排序信息数组。 |
3580| sortedHashCode | Array\<string\>                                              | 是  | 否  | 通知唯一标识数组。 |
3581
3582
3583## NotificationSubscribeInfo
3584
3585设置订阅所需通知的发布者的信息。
3586
3587**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3588
3589**系统API**: 此接口为系统接口,三方应用不支持调用。
3590
3591| 名称        | 类型            | 可读 | 可写 | 说明                            |
3592| ----------- | --------------- | --- | ---- | ------------------------------- |
3593| bundleNames | Array\<string\> | 是  | 是  | 指定订阅哪些包名的APP发来的通知。 |
3594| userId      | number          | 是  | 是  | 指定订阅哪个用户下发来的通知。    |
3595
3596
3597## NotificationTemplate<sup>8+</sup>
3598
3599通知模板。
3600
3601**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
3602
3603| 名称 | 类型                    | 可读 | 可写 | 说明       |
3604| ---- | ---------------------- | ---- | ---- | ---------- |
3605| name | string                 | 是   | 是   | 模板名称。 |
3606| data | {[key:string]: Object} | 是   | 是   | 模板数据。 |
3607
3608
3609## NotificationUserInput<sup>8+</sup>
3610
3611保存用户输入的通知消息。
3612
3613**系统能力**:SystemCapability.Notification.Notification
3614
3615| 名称     | 类型   | 可读 | 可写 | 说明                          |
3616| -------- | ------ | --- | ---- | ----------------------------- |
3617| inputKey | string | 是  | 是  | 用户输入时用于标识此输入的key。 |
3618
3619
3620## DeviceRemindType<sup>8+</sup>
3621
3622**系统能力**:SystemCapability.Notification.Notification
3623
3624**系统API**: 此接口为系统接口,三方应用不支持调用。
3625
3626| 名称                 | 值  | 说明                               |
3627| -------------------- | --- | --------------------------------- |
3628| IDLE_DONOT_REMIND    | 0   | 设备未被使用,无需提醒。            |
3629| IDLE_REMIND          | 1   | 提醒设备未被使用。                 |
3630| ACTIVE_DONOT_REMIND  | 2   | 设备正在使用,无需提醒。            |
3631| ACTIVE_REMIND        | 3   | 提醒设备正在使用。                 |
3632
3633
3634## SourceType<sup>8+</sup>
3635
3636**系统能力**:SystemCapability.Notification.Notification
3637
3638**系统API**: 此接口为系统接口,三方应用不支持调用。
3639
3640| 名称                 | 值  | 说明                  |
3641| -------------------- | --- | -------------------- |
3642| TYPE_NORMAL          | 0   | 一般通知。            |
3643| TYPE_CONTINUOUS      | 1   | 连续通知。            |
3644| TYPE_TIMER           | 2   | 计划通知。            |
3645
3646## RemoveReason<sup>9+</sup>
3647
3648**系统能力**:SystemCapability.Notification.Notification
3649
3650**系统API**: 此接口为系统接口,三方应用不支持调用。
3651
3652| 名称                 | 值  | 说明                  |
3653| -------------------- | --- | -------------------- |
3654| CLICK_REASON_REMOVE<sup>9+</sup>  | 1   | 点击通知后删除通知。    |
3655| CANCEL_REASON_REMOVE<sup>9+</sup> | 2   | 用户删除通知。         |