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 | 用户删除通知。 |