js-apis-notificationManager.md 147.5 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.notificationManager (NotificationManager模块)
2 3 4 5 6 7 8 9 10

本模块提供通知管理的能力,包括发布、取消发布通知,创建、获取、移除通知通道,获取通知的使能状态、角标使能状态,获取通知的相关信息等。

> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

## 导入模块

11 12
```ts
import notificationManager from '@ohos.notificationManager';
13 14
```

15
## notificationManager.publish
16 17 18 19 20 21 22 23 24

publish(request: NotificationRequest, callback: AsyncCallback\<void\>): void

发布通知(callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
25
| 参数名     | 类型                                        | 必填 | 说明                                        |
26
| -------- | ------------------------------------------- | ---- | ------------------------------------------- |
27
| request  | [NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest) | 是   | 用于设置要发布通知的内容和相关配置信息。 |
F
fangJinliang1 已提交
28
| callback | AsyncCallback\<void\>                       | 是   | 发布通知的回调方法。                        |
29 30 31

**错误码:**

F
fangJinliang1 已提交
32 33
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

34 35
| 错误码ID | 错误信息                                  |
| -------- | ----------------------------------------- |
36
| 401      | The parameter check failed.               |
37 38 39 40 41 42
| 1600001  | Internal error.                           |
| 1600002  | Marshalling or unmarshalling error.       |
| 1600003  | Failed to connect service.                |
| 1600004  | Notification is not enabled.              |
| 1600005  | Notification slot is not enabled.         |
| 1600009  | Over max number notifications per second. |
43
| 1600012  | No memory space.                          |
44 45 46

**示例:**

47
```ts
48 49 50
//publish回调
function publishCallback(err) {
    if (err) {
51
        console.error(`publish failed, code is ${err.code}, message is ${err.message}`);
52 53 54 55 56
    } else {
        console.info("publish success");
    }
}
//通知Request对象
57
let notificationRequest: notificationManager.NotificationRequest = {
58 59
    id: 1,
    content: {
60
        contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
61 62 63 64 65 66
        normal: {
            title: "test_title",
            text: "test_text",
            additionalText: "test_additionalText"
        }
    }
F
fangJinliang1 已提交
67
};
68
notificationManager.publish(notificationRequest, publishCallback);
69 70
```

71
## notificationManager.publish
72 73 74 75 76 77 78 79 80

publish(request: NotificationRequest): Promise\<void\>

发布通知(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
81
| 参数名     | 类型                                        | 必填 | 说明                                        |
82
| -------- | ------------------------------------------- | ---- | ------------------------------------------- |
83
| request  | [NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest) | 是   | 用于设置要发布通知的内容和相关配置信息。 |
84 85 86

**错误码:**

F
fangJinliang1 已提交
87 88
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

89 90
| 错误码ID | 错误信息                                  |
| -------- | ----------------------------------------- |
91 92
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
93 94 95 96 97 98
| 1600001  | Internal error.                           |
| 1600002  | Marshalling or unmarshalling error.       |
| 1600003  | Failed to connect service.                |
| 1600004  | Notification is not enabled.              |
| 1600005  | Notification slot is not enabled.         |
| 1600009  | Over max number notifications per second. |
99
| 1600012  | No memory space.                          |
100 101 102

**示例:**

103
```ts
F
fangJinliang1 已提交
104
// 通知Request对象
105
let notificationRequest: notificationManager.NotificationRequest = {
106 107
    notificationId: 1,
    content: {
108
        contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
109 110 111 112 113 114
        normal: {
            title: "test_title",
            text: "test_text",
            additionalText: "test_additionalText"
        }
    }
F
fangJinliang1 已提交
115
};
116
notificationManager.publish(notificationRequest).then(() => {
F
fangJinliang1 已提交
117
	console.info("publish success");
118 119 120 121
});

```

122
## notificationManager.publish
123 124 125

publish(request: NotificationRequest, userId: number, callback: AsyncCallback\<void\>): void

F
fangJinliang1 已提交
126
发布通知给指定的用户(callback形式)。
127 128 129 130 131 132 133 134 135

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
136
| 参数名     | 类型                                        | 必填 | 说明                                        |
137
| -------- | ----------------------------------------- | ---- | ------------------------------------------- |
138
| request  | [NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest) | 是   | 用于设置要发布通知的内容和相关配置信息。 |
F
fangJinliang1 已提交
139
| userId   | number                                      | 是   | 用户ID。                           |
140 141 142 143
| callback | AsyncCallback\<void\>                       | 是   | 被指定的回调方法。                           |

**错误码:**

F
fangJinliang1 已提交
144 145
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

146 147
| 错误码ID | 错误信息                                  |
| -------- | ----------------------------------------- |
148 149
| 202      | Not system application to call the interface.   |
| 401      | The parameter check failed.               |
150 151 152 153 154 155 156
| 1600001  | Internal error.                           |
| 1600002  | Marshalling or unmarshalling error.       |
| 1600003  | Failed to connect service.                |
| 1600004  | Notification is not enabled.              |
| 1600005  | Notification slot is not enabled.         |
| 1600008  | The user is not exist.                    |
| 1600009  | Over max number notifications per second. |
157
| 1600012  | No memory space.                          |
158 159 160

**示例:**

161
```ts
F
fangJinliang1 已提交
162
// publish回调
163 164
function publishCallback(err) {
    if (err) {
165
        console.error(`publish failed, code is ${err.code}, message is ${err.message}`);
166 167 168 169
    } else {
        console.info("publish success");
    }
}
F
fangJinliang1 已提交
170
// 用户ID
F
fangJinliang1 已提交
171
let userId = 1;
F
fangJinliang1 已提交
172
// 通知Request对象
173
let notificationRequest: notificationManager.NotificationRequest = {
174 175
    id: 1,
    content: {
176
        contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
177 178 179 180 181 182
        normal: {
            title: "test_title",
            text: "test_text",
            additionalText: "test_additionalText"
        }
    }
F
fangJinliang1 已提交
183
};
184
notificationManager.publish(notificationRequest, userId, publishCallback);
185 186
```

187
## notificationManager.publish
188 189 190

publish(request: NotificationRequest, userId: number): Promise\<void\>

F
fangJinliang1 已提交
191
发布通知给指定的用户(Promise形式)。
192 193 194 195 196 197 198 199 200

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
201
| 参数名     |  类型                                        | 必填 | 说明                                        |
202
| -------- | ----------------------------------------- | ---- | ------------------------------------------- |
203
| request  | [NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest) | 是   | 用于设置要发布通知的内容和相关配置信息。 |
F
fangJinliang1 已提交
204
| userId   | number                                      | 是   | 用户ID。                           |
205 206 207

**错误码:**

F
fangJinliang1 已提交
208 209
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

210 211
| 错误码ID | 错误信息                                  |
| -------- | ----------------------------------------- |
212 213
| 201      | Permission denied.                        |
| 401      | The parameter check failed.               |
214 215 216 217 218 219 220
| 1600001  | Internal error.                           |
| 1600002  | Marshalling or unmarshalling error.       |
| 1600003  | Failed to connect service.                |
| 1600004  | Notification is not enabled.              |
| 1600005  | Notification slot is not enabled.         |
| 1600008  | The user is not exist.                    |
| 1600009  | Over max number notifications per second. |
221
| 1600012  | No memory space.                          |
222 223 224

**示例:**

225
```ts
226
let notificationRequest: notificationManager.NotificationRequest = {
227 228
    notificationId: 1,
    content: {
229
        contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
230 231 232 233 234 235
        normal: {
            title: "test_title",
            text: "test_text",
            additionalText: "test_additionalText"
        }
    }
F
fangJinliang1 已提交
236
};
237

F
fangJinliang1 已提交
238
let userId = 1;
239

240
notificationManager.publish(notificationRequest, userId).then(() => {
F
fangJinliang1 已提交
241
	console.info("publish success");
242 243 244 245
});
```


246
## notificationManager.cancel
247 248 249

cancel(id: number, label: string, callback: AsyncCallback\<void\>): void

F
fangJinliang1 已提交
250
通过通知ID和通知标签取消已发布的通知(callback形式)。
251 252 253 254 255

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
256
| 参数名     | 类型                  | 必填 | 说明                 |
257 258 259 260 261 262 263
| -------- | --------------------- | ---- | -------------------- |
| id       | number                | 是   | 通知ID。               |
| label    | string                | 是   | 通知标签。             |
| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。 |

**错误码:**

F
fangJinliang1 已提交
264 265
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

266 267
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
268
| 401      | The parameter check failed.         |
269 270 271 272 273 274 275
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600007  | The notification is not exist.      |

**示例:**

276
```ts
F
fangJinliang1 已提交
277
// cancel回调
278 279
function cancelCallback(err) {
    if (err) {
280
        console.error(`cancel failed, code is ${err.code}, message is ${err.message}`);
281 282 283 284
    } else {
        console.info("cancel success");
    }
}
285
notificationManager.cancel(0, "label", cancelCallback);
286 287
```

288
## notificationManager.cancel
289 290 291

cancel(id: number, label?: string): Promise\<void\>

F
fangJinliang1 已提交
292
取消与指定通知ID相匹配的已发布通知,label可以指定也可以不指定(Promise形式)。
293 294 295 296 297

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
298
| 参数名  | 类型   | 必填 | 说明     |
299 300 301 302 303 304
| ----- | ------ | ---- | -------- |
| id    | number | 是   | 通知ID。   |
| label | string | 否   | 通知标签。 |

**错误码:**

F
fangJinliang1 已提交
305 306
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

307 308
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
309
| 401      | The parameter check failed.         |
310 311 312 313 314 315 316
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600007  | The notification is not exist.      |

**示例:**

317 318
```ts
notificationManager.cancel(0).then(() => {
F
fangJinliang1 已提交
319
	console.info("cancel success");
320 321 322
});
```

323
## notificationManager.cancel
324 325 326

cancel(id: number, callback: AsyncCallback\<void\>): void

F
fangJinliang1 已提交
327
取消与指定通知ID相匹配的已发布通知(callback形式)。
328 329 330 331 332

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
333
| 参数名     | 类型                  | 必填 | 说明                 |
334 335 336 337 338 339
| -------- | --------------------- | ---- | -------------------- |
| id       | number                | 是   | 通知ID。               |
| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。 |

**错误码:**

F
fangJinliang1 已提交
340 341
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

342 343
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
344
| 401      | The parameter check failed.         |
345 346 347 348 349 350 351
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600007  | The notification is not exist.      |

**示例:**

352
```ts
F
fangJinliang1 已提交
353
// cancel回调
354 355
function cancelCallback(err) {
    if (err) {
356
        console.error(`cancel failed, code is ${err.code}, message is ${err.message}`);
357 358 359 360
    } else {
        console.info("cancel success");
    }
}
361
notificationManager.cancel(0, cancelCallback);
362 363
```

364
## notificationManager.cancelAll
365 366 367 368 369 370 371 372 373

cancelAll(callback: AsyncCallback\<void\>): void

取消所有已发布的通知(callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**错误码:**

F
fangJinliang1 已提交
374 375
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

376 377
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
378
| 401      | The parameter check failed.         |
379 380 381 382 383 384
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**参数:**

F
fangJinliang1 已提交
385
| 参数名     | 类型                  | 必填 | 说明                 |
386 387 388 389 390
| -------- | --------------------- | ---- | -------------------- |
| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。 |

**示例:**

391
```ts
F
fangJinliang1 已提交
392
// cancel回调
393 394
function cancelAllCallback(err) {
    if (err) {
395
        console.error(`cancelAll failed, code is ${err.code}, message is ${err.message}`);
396 397 398 399
    } else {
        console.info("cancelAll success");
    }
}
400
notificationManager.cancelAll(cancelAllCallback);
401 402
```

403
## notificationManager.cancelAll
404 405 406 407 408 409 410 411 412

cancelAll(): Promise\<void\>

取消所有已发布的通知(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**错误码:**

F
fangJinliang1 已提交
413 414
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

415 416
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
417
| 401      | The parameter check failed.         |
418 419 420 421 422 423
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

424 425
```ts
notificationManager.cancelAll().then(() => {
F
fangJinliang1 已提交
426
	console.info("cancelAll success");
427 428 429
});
```

430
## notificationManager.addSlot
431 432 433 434 435 436 437 438 439 440 441 442 443

addSlot(slot: NotificationSlot, callback: AsyncCallback\<void\>): void

创建通知通道(callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
444
| 参数名     | 类型                  | 必填 | 说明                 |
445
| -------- | --------------------- | ---- | -------------------- |
446
| slot     | [NotificationSlot](js-apis-inner-notification-notificationSlot.md)       | 是   | 要创建的通知通道对象。 |
447 448 449 450
| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。 |

**错误码:**

F
fangJinliang1 已提交
451 452
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

453 454
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
455 456 457
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
458 459 460
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
461
| 1600012  | No memory space.                          |
462 463 464

**示例:**

465
```ts
F
fangJinliang1 已提交
466
// addslot回调
467 468
function addSlotCallBack(err) {
    if (err) {
469
        console.error(`addSlot failed, code is ${err.code}, message is ${err.message}`);
470 471 472 473
    } else {
        console.info("addSlot success");
    }
}
F
fangJinliang1 已提交
474
// 通知slot对象
F
fangJinliang1 已提交
475
let notificationSlot = {
476
    type: notificationManager.SlotType.SOCIAL_COMMUNICATION
F
fangJinliang1 已提交
477
};
478
notificationManager.addSlot(notificationSlot, addSlotCallBack);
479 480
```

481
## notificationManager.addSlot
482 483 484 485 486 487 488 489 490 491 492 493 494

addSlot(slot: NotificationSlot): Promise\<void\>

创建通知通道(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
495
| 参数名 | 类型             | 必填 | 说明                 |
496
| ---- | ---------------- | ---- | -------------------- |
497
| slot | [NotificationSlot](js-apis-inner-notification-notificationSlot.md) | 是   | 要创建的通知通道对象。 |
498 499 500

**错误码:**

F
fangJinliang1 已提交
501 502
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

503 504
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
505 506 507
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
508 509 510
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
511
| 1600012  | No memory space.                          |
512 513 514

**示例:**

515
```ts
F
fangJinliang1 已提交
516
// 通知slot对象
F
fangJinliang1 已提交
517
let notificationSlot = {
518
    type: notificationManager.SlotType.SOCIAL_COMMUNICATION
F
fangJinliang1 已提交
519
};
520
notificationManager.addSlot(notificationSlot).then(() => {
F
fangJinliang1 已提交
521
	console.info("addSlot success");
522 523 524
});
```

525
## notificationManager.addSlot
526 527 528

addSlot(type: SlotType, callback: AsyncCallback\<void\>): void

F
fangJinliang1 已提交
529
创建指定类型的通知通道(callback形式)。
530 531 532 533 534

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
535
| 参数名     | 类型                  | 必填 | 说明                   |
536 537 538 539 540 541
| -------- | --------------------- | ---- | ---------------------- |
| type     | [SlotType](#slottype)              | 是   | 要创建的通知通道的类型。 |
| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。   |

**错误码:**

F
fangJinliang1 已提交
542 543
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

544 545
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
546
| 401      | The parameter check failed.         |
547 548 549
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
550
| 1600012  | No memory space.                    |
551 552 553

**示例:**

554
```ts
F
fangJinliang1 已提交
555
// addslot回调
556 557
function addSlotCallBack(err) {
    if (err) {
558
        console.error(`addSlot failed, code is ${err.code}, message is ${err.message}`);
559 560 561 562
    } else {
        console.info("addSlot success");
    }
}
563
notificationManager.addSlot(notificationManager.SlotType.SOCIAL_COMMUNICATION, addSlotCallBack);
564 565
```

566
## notificationManager.addSlot
567 568 569

addSlot(type: SlotType): Promise\<void\>

F
fangJinliang1 已提交
570
创建指定类型的通知通道(Promise形式)。
571 572 573 574 575

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
576
| 参数名 | 类型     | 必填 | 说明                   |
577 578 579 580 581
| ---- | -------- | ---- | ---------------------- |
| type | [SlotType](#slottype) | 是   | 要创建的通知通道的类型。 |

**错误码:**

F
fangJinliang1 已提交
582 583
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

584 585
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
586
| 401      | The parameter check failed.         |
587 588 589
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
590
| 1600012  | No memory space.                    |
591 592 593

**示例:**

594 595
```ts
notificationManager.addSlot(notificationManager.SlotType.SOCIAL_COMMUNICATION).then(() => {
F
fangJinliang1 已提交
596
	console.info("addSlot success");
597 598 599
});
```

600
## notificationManager.addSlots
601 602 603 604 605 606 607 608 609 610 611 612 613

addSlots(slots: Array\<NotificationSlot\>, callback: AsyncCallback\<void\>): void

创建多个通知通道(callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
614
| 参数名     | 类型                      | 必填 | 说明                     |
615
| -------- | ------------------------- | ---- | ------------------------ |
616
| slots    | Array\<[NotificationSlot](js-apis-inner-notification-notificationSlot.md)\> | 是   | 要创建的通知通道对象数组。 |
617 618 619 620
| callback | AsyncCallback\<void\>     | 是   | 表示被指定的回调方法。     |

**错误码:**

F
fangJinliang1 已提交
621 622
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

623 624
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
625 626 627
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
628 629 630
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
631
| 1600012  | No memory space.                          |
632 633 634

**示例:**

635
```ts
F
fangJinliang1 已提交
636
// addSlots回调
637 638
function addSlotsCallBack(err) {
    if (err) {
639
        console.error(`addSlots failed, code is ${err.code}, message is ${err.message}`);
640 641 642 643
    } else {
        console.info("addSlots success");
    }
}
F
fangJinliang1 已提交
644
// 通知slot对象
F
fangJinliang1 已提交
645
let notificationSlot = {
646
    type: notificationManager.SlotType.SOCIAL_COMMUNICATION
F
fangJinliang1 已提交
647
};
F
fangJinliang1 已提交
648
// 通知slot array 对象
F
fangJinliang1 已提交
649
let notificationSlotArray = new Array();
650 651
notificationSlotArray[0] = notificationSlot;

652
notificationManager.addSlots(notificationSlotArray, addSlotsCallBack);
653 654
```

655
## notificationManager.addSlots
656 657 658 659 660 661 662 663 664 665 666 667 668

addSlots(slots: Array\<NotificationSlot\>): Promise\<void\>

创建多个通知通道(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
669
| 参数名  | 类型                      | 必填 | 说明                     |
670
| ----- | ------------------------- | ---- | ------------------------ |
671
| slots | Array\<[NotificationSlot](js-apis-inner-notification-notificationSlot.md)\> | 是   | 要创建的通知通道对象数组。 |
672 673 674

**错误码:**

F
fangJinliang1 已提交
675 676
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

677 678
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
679 680 681
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
682 683 684
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
685
| 1600012  | No memory space.                          |
686 687 688

**示例:**

689
```ts
F
fangJinliang1 已提交
690
// 通知slot对象
F
fangJinliang1 已提交
691
let notificationSlot = {
692
    type: notificationManager.SlotType.SOCIAL_COMMUNICATION
F
fangJinliang1 已提交
693
};
F
fangJinliang1 已提交
694
// 通知slot array 对象
F
fangJinliang1 已提交
695
let notificationSlotArray = new Array();
696 697
notificationSlotArray[0] = notificationSlot;

698
notificationManager.addSlots(notificationSlotArray).then(() => {
F
fangJinliang1 已提交
699
	console.info("addSlots success");
700 701 702
});
```

703
## notificationManager.getSlot
704 705 706

getSlot(slotType: SlotType, callback: AsyncCallback\<NotificationSlot\>): void

F
fangJinliang1 已提交
707
获取一个指定类型的通知通道(callback形式)。
708 709 710 711 712

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
713
| 参数名     | 类型                              | 必填 | 说明                                                        |
714
| -------- | --------------------------------- | ---- | ----------------------------------------------------------- |
F
fangJinliang1 已提交
715
| slotType | [SlotType](#slottype)                          | 是   | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型。 |
716
| callback | AsyncCallback\<[NotificationSlot](js-apis-inner-notification-notificationSlot.md)\> | 是   | 表示被指定的回调方法。                                        |
717 718 719

**错误码:**

F
fangJinliang1 已提交
720 721
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

722 723
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
724
| 401      | The parameter check failed.         |
725 726 727 728 729 730
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

731
```ts
F
fangJinliang1 已提交
732
// getSlot回调
733 734
function getSlotCallback(err,data) {
    if (err) {
735
        console.error(`getSlot failed, code is ${err.code}, message is ${err.message}`);
736 737 738 739
    } else {
        console.info("getSlot success");
    }
}
740 741
let slotType = notificationManager.SlotType.SOCIAL_COMMUNICATION;
notificationManager.getSlot(slotType, getSlotCallback);
742 743
```

744
## notificationManager.getSlot
745 746 747

getSlot(slotType: SlotType): Promise\<NotificationSlot\>

F
fangJinliang1 已提交
748
获取一个指定类型的通知通道(Promise形式)。
749 750 751 752 753

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
754
| 参数名     | 类型     | 必填 | 说明                                                        |
755
| -------- | -------- | ---- | ----------------------------------------------------------- |
F
fangJinliang1 已提交
756
| slotType | [SlotType](#slottype) | 是   | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型。 |
757 758 759 760 761 762 763 764 765

**返回值:**

| 类型                                                        | 说明                                                         |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<NotificationSlot\> | 以Promise形式返回获取一个通知通道。 |

**错误码:**

F
fangJinliang1 已提交
766 767
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

768 769
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
770
| 401      | The parameter check failed.         |
771 772 773 774 775 776
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

777 778 779
```ts
let slotType = notificationManager.SlotType.SOCIAL_COMMUNICATION;
notificationManager.getSlot(slotType).then((data) => {
F
fangJinliang1 已提交
780
	console.info("getSlot success, data: " + JSON.stringify(data));
781 782 783
});
```

784
## notificationManager.getSlots
785 786 787 788 789 790 791 792 793

getSlots(callback: AsyncCallback<Array\<NotificationSlot\>>): void

获取此应用程序的所有通知通道(callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
794 795
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

F
fangJinliang1 已提交
796
| 参数名     | 类型                              | 必填 | 说明                 |
797
| -------- | --------------------------------- | ---- | -------------------- |
798
| callback | AsyncCallback\<Array\<[NotificationSlot](js-apis-inner-notification-notificationSlot.md)\>\> | 是   | 以callback形式返回获取此应用程序的所有通知通道的结果。 |
799 800 801 802 803

**错误码:**

| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
804
| 401      | The parameter check failed.         |
805 806 807 808 809 810
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

811
```ts
F
fangJinliang1 已提交
812
// getSlots回调
813 814
function getSlotsCallback(err,data) {
    if (err) {
815
        console.error(`getSlots failed, code is ${err.code}, message is ${err.message}`);
816 817 818 819
    } else {
        console.info("getSlots success");
    }
}
820
notificationManager.getSlots(getSlotsCallback);
821 822
```

823
## notificationManager.getSlots
824 825 826 827 828 829 830 831 832 833 834

getSlots(): Promise\<Array\<NotificationSlot\>>

获取此应用程序的所有通知通道(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**返回值:**

| 类型                                                        | 说明                                                         |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
835
| Promise\<Array\<[NotificationSlot](js-apis-inner-notification-notificationSlot.md)\>\> | 以Promise形式返回获取此应用程序的所有通知通道的结果。 |
836 837 838

**错误码:**

F
fangJinliang1 已提交
839 840
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

841 842
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
843
| 401      | The parameter check failed.         |
844 845 846 847 848 849
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

850 851
```ts
notificationManager.getSlots().then((data) => {
F
fangJinliang1 已提交
852
	console.info("getSlots success, data: " + JSON.stringify(data));
853 854 855
});
```

856
## notificationManager.removeSlot
857 858 859

removeSlot(slotType: SlotType, callback: AsyncCallback\<void\>): void

F
fangJinliang1 已提交
860
删除指定类型的通知通道(callback形式)。
861 862 863 864 865

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
866
| 参数名     | 类型                  | 必填 | 说明                                                        |
867 868 869 870 871 872
| -------- | --------------------- | ---- | ----------------------------------------------------------- |
| slotType | [SlotType](#slottype)              | 是   | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型。 |
| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。                                        |

**错误码:**

F
fangJinliang1 已提交
873 874
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

875 876
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
877
| 401      | The parameter check failed.         |
878 879 880 881 882 883
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

884
```ts
F
fangJinliang1 已提交
885
// removeSlot回调
886 887
function removeSlotCallback(err) {
    if (err) {
888
        console.error(`removeSlot failed, code is ${err.code}, message is ${err.message}`);
889 890 891 892
    } else {
        console.info("removeSlot success");
    }
}
893 894
let slotType = notificationManager.SlotType.SOCIAL_COMMUNICATION;
notificationManager.removeSlot(slotType,removeSlotCallback);
895 896
```

897
## notificationManager.removeSlot
898 899 900

removeSlot(slotType: SlotType): Promise\<void\>

F
fangJinliang1 已提交
901
删除指定类型的通知通道(Promise形式)。
902 903 904 905 906

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
907
| 参数名     | 类型     | 必填 | 说明                                                        |
908 909 910 911 912
| -------- | -------- | ---- | ----------------------------------------------------------- |
| slotType | [SlotType](#slottype) | 是   | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型。 |

**错误码:**

F
fangJinliang1 已提交
913 914
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

915 916
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
917
| 401      | The parameter check failed.         |
918 919 920 921 922 923
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

924 925 926
```ts
let slotType = notificationManager.SlotType.SOCIAL_COMMUNICATION;
notificationManager.removeSlot(slotType).then(() => {
F
fangJinliang1 已提交
927
	console.info("removeSlot success");
928 929 930
});
```

931
## notificationManager.removeAllSlots
932 933 934 935 936 937 938 939 940

removeAllSlots(callback: AsyncCallback\<void\>): void

删除所有通知通道(callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
941
| 参数名     | 类型                  | 必填 | 说明                 |
942 943 944 945 946
| -------- | --------------------- | ---- | -------------------- |
| callback | AsyncCallback\<void\> | 是   | 表示被指定的回调方法。 |

**错误码:**

F
fangJinliang1 已提交
947 948
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

949 950
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
951
| 401      | The parameter check failed.         |
952 953 954 955 956 957
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

958
```ts
959 960
function removeAllCallBack(err) {
    if (err) {
961
        console.error(`removeAllSlots failed, code is ${err.code}, message is ${err.message}`);
962 963 964 965
    } else {
        console.info("removeAllSlots success");
    }
}
966
notificationManager.removeAllSlots(removeAllCallBack);
967 968
```

969
## notificationManager.removeAllSlots
970 971 972 973 974 975 976 977 978

removeAllSlots(): Promise\<void\>

删除所有通知通道(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**错误码:**

F
fangJinliang1 已提交
979 980
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

981 982
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
983
| 401      | The parameter check failed.         |
984 985 986 987 988 989
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

990 991
```ts
notificationManager.removeAllSlots().then(() => {
F
fangJinliang1 已提交
992
	console.info("removeAllSlots success");
993 994 995
});
```

996
## notificationManager.setNotificationEnable
997 998 999

setNotificationEnable(bundle: BundleOption, enable: boolean, callback: AsyncCallback\<void\>): void

F
fangJinliang1 已提交
1000
设定指定应用的通知使能状态(Callback形式)。
1001 1002 1003 1004 1005 1006 1007 1008 1009

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1010
| 参数名     | 类型                  | 必填 | 说明                 |
1011
| -------- | --------------------- | ---- | -------------------- |
Y
yuyaozhi 已提交
1012
| bundle   | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption)   | 是   | 指定应用的包信息。        |
1013 1014 1015 1016 1017
| enable   | boolean               | 是   | 使能状态。             |
| callback | AsyncCallback\<void\> | 是   | 设定通知使能回调函数。 |

**错误码:**

F
fangJinliang1 已提交
1018 1019
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1020 1021
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1022 1023 1024
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1025 1026 1027 1028 1029 1030 1031
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1032
```ts
1033 1034
function setNotificationEnablenCallback(err) {
    if (err) {
1035
        console.error(`setNotificationEnablenCallback failed, code is ${err.code}, message is ${err.message}`);
1036 1037 1038 1039
    } else {
        console.info("setNotificationEnablenCallback success");
    }
}
F
fangJinliang1 已提交
1040
let bundle = {
1041
    bundle: "bundleName1",
F
fangJinliang1 已提交
1042
};
1043
notificationManager.setNotificationEnable(bundle, false, setNotificationEnablenCallback);
1044 1045
```

1046
## notificationManager.setNotificationEnable
1047 1048 1049

setNotificationEnable(bundle: BundleOption, enable: boolean): Promise\<void\>

F
fangJinliang1 已提交
1050
设定指定应用的通知使能状态(Promise形式)。
1051 1052 1053 1054 1055 1056 1057 1058 1059

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1060
| 参数名   | 类型         | 必填 | 说明       |
1061
| ------ | ------------ | ---- | ---------- |
Y
yuyaozhi 已提交
1062
| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是   | 指定应用的包信息。 |
1063 1064 1065 1066
| enable | boolean      | 是   | 使能状态。   |

**错误码:**

F
fangJinliang1 已提交
1067 1068
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1069 1070
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1071 1072 1073
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1074 1075 1076 1077 1078 1079 1080
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1081
```ts
F
fangJinliang1 已提交
1082
let bundle = {
1083
    bundle: "bundleName1",
F
fangJinliang1 已提交
1084
};
1085
notificationManager.setNotificationEnable(bundle, false).then(() => {
F
fangJinliang1 已提交
1086
	console.info("setNotificationEnable success");
1087 1088 1089
});
```

1090
## notificationManager.isNotificationEnabled
1091 1092 1093

isNotificationEnabled(bundle: BundleOption, callback: AsyncCallback\<boolean\>): void

F
fangJinliang1 已提交
1094
获取指定应用的通知使能状态(Callback形式)。
1095 1096 1097 1098 1099 1100 1101 1102 1103

**系统能力**:SystemCapability.Notification.Notification

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**参数:**

F
fangJinliang1 已提交
1104
| 参数名     | 类型                  | 必填 | 说明                     |
1105
| -------- | --------------------- | ---- | ------------------------ |
Y
yuyaozhi 已提交
1106
| bundle   | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption)          | 是   | 指定应用的包信息。            |
1107 1108 1109 1110
| callback | AsyncCallback\<void\> | 是   | 获取通知使能状态回调函数。 |

**错误码:**

F
fangJinliang1 已提交
1111 1112
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1113 1114
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1115 1116 1117
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1118 1119 1120 1121 1122 1123 1124
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1125
```ts
1126 1127
function isNotificationEnabledCallback(err, data) {
    if (err) {
1128
        console.error(`isNotificationEnabled failed, code is ${err.code}, message is ${err.message}`);
1129 1130 1131 1132
    } else {
        console.info("isNotificationEnabled success");
    }
}
F
fangJinliang1 已提交
1133
let bundle = {
1134
    bundle: "bundleName1",
F
fangJinliang1 已提交
1135
};
1136
notificationManager.isNotificationEnabled(bundle, isNotificationEnabledCallback);
1137 1138
```

1139
## notificationManager.isNotificationEnabled
1140 1141 1142

isNotificationEnabled(bundle: BundleOption): Promise\<boolean\>

F
fangJinliang1 已提交
1143
获取指定应用的通知使能状态(Promise形式)。
1144 1145 1146 1147 1148 1149 1150 1151 1152

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1153
| 参数名   | 类型         | 必填 | 说明       |
1154
| ------ | ------------ | ---- | ---------- |
Y
yuyaozhi 已提交
1155
| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是   | 指定应用的包信息。 |
1156 1157 1158

**返回值:**

F
fangJinliang1 已提交
1159 1160 1161
| 类型               | 说明                                                |
| ------------------ | --------------------------------------------------- |
| Promise\<boolean\> | 以Promise形式返回获取指定应用的通知使能状态的结果。 |
1162 1163 1164

**错误码:**

F
fangJinliang1 已提交
1165 1166
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1167 1168
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1169 1170 1171
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1172 1173 1174 1175 1176 1177 1178
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1179
```ts
F
fangJinliang1 已提交
1180
let bundle = {
1181
    bundle: "bundleName1",
F
fangJinliang1 已提交
1182
};
1183
notificationManager.isNotificationEnabled(bundle).then((data) => {
F
fangJinliang1 已提交
1184
	console.info("isNotificationEnabled success, data: " + JSON.stringify(data));
1185 1186 1187
});
```

1188
## notificationManager.isNotificationEnabled
1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201

isNotificationEnabled(callback: AsyncCallback\<boolean\>): void

获取通知使能状态(Callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1202
| 参数名     | 类型                  | 必填 | 说明                     |
1203 1204 1205 1206 1207
| -------- | --------------------- | ---- | ------------------------ |
| callback | AsyncCallback\<void\> | 是   | 获取通知使能状态回调函数。 |

**错误码:**

F
fangJinliang1 已提交
1208 1209
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1210 1211
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
1212 1213 1214
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1215 1216 1217 1218 1219 1220
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

1221
```ts
1222 1223
function isNotificationEnabledCallback(err, data) {
    if (err) {
1224
        console.error(`isNotificationEnabled failed, code is ${err.code}, message is ${err.message}`);
1225 1226 1227 1228 1229
    } else {
        console.info("isNotificationEnabled success");
    }
}

1230
notificationManager.isNotificationEnabled(isNotificationEnabledCallback);
1231 1232
```

1233
## notificationManager.isNotificationEnabled
1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246

isNotificationEnabled(): Promise\<boolean\>

获取通知使能状态(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1247
| 参数名   | 类型         | 必填 | 说明       |
1248
| ------ | ------------ | ---- | ---------- |
Y
yuyaozhi 已提交
1249
| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是   | 指定应用的包信息。 |
1250 1251 1252 1253 1254 1255 1256 1257 1258

**返回值:**

| 类型                                                        | 说明                                                         |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<boolean\> | 以Promise形式返回获取通知使能状态的结果。 |

**错误码:**

F
fangJinliang1 已提交
1259 1260
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1261 1262
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1263 1264 1265
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1266 1267 1268 1269 1270 1271 1272
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1273 1274
```ts
notificationManager.isNotificationEnabled().then((data) => {
F
fangJinliang1 已提交
1275
	console.info("isNotificationEnabled success, data: " + JSON.stringify(data));
1276 1277 1278
});
```

1279
## notificationManager.displayBadge
1280 1281 1282

displayBadge(bundle: BundleOption, enable: boolean, callback: AsyncCallback\<void\>): void

F
fangJinliang1 已提交
1283
设定指定应用的角标使能状态(Callback形式)。
1284 1285 1286 1287 1288 1289 1290 1291 1292

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1293
| 参数名     | 类型                  | 必填 | 说明                 |
1294
| -------- | --------------------- | ---- | -------------------- |
Y
yuyaozhi 已提交
1295
| bundle   | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption)          | 是   | 指定应用的包信息。           |
1296 1297 1298 1299 1300
| enable   | boolean               | 是   | 使能状态。             |
| callback | AsyncCallback\<void\> | 是   | 设定角标使能回调函数。 |

**错误码:**

F
fangJinliang1 已提交
1301 1302
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1303 1304
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1305 1306 1307
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1308 1309 1310 1311 1312 1313 1314
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1315
```ts
1316 1317
function displayBadgeCallback(err) {
    if (err) {
1318
        console.error(`displayBadge failed, code is ${err.code}, message is ${err.message}`);
1319 1320 1321 1322
    } else {
        console.info("displayBadge success");
    }
}
F
fangJinliang1 已提交
1323
let bundle = {
1324
    bundle: "bundleName1",
F
fangJinliang1 已提交
1325
};
1326
notificationManager.displayBadge(bundle, false, displayBadgeCallback);
1327 1328
```

1329
## notificationManager.displayBadge
1330 1331 1332

displayBadge(bundle: BundleOption, enable: boolean): Promise\<void\>

F
fangJinliang1 已提交
1333
设定指定应用的角标使能状态(Promise形式)。
1334 1335 1336 1337 1338 1339 1340 1341 1342

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1343
| 参数名   | 类型         | 必填 | 说明       |
1344
| ------ | ------------ | ---- | ---------- |
Y
yuyaozhi 已提交
1345
| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是   | 指定应用的包信息。 |
1346 1347 1348 1349
| enable | boolean      | 是   | 使能状态。   |

**错误码:**

F
fangJinliang1 已提交
1350 1351
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1352 1353
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1354 1355 1356
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1357 1358 1359 1360 1361 1362 1363
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1364
```ts
F
fangJinliang1 已提交
1365
let bundle = {
1366
    bundle: "bundleName1",
F
fangJinliang1 已提交
1367
};
1368
notificationManager.displayBadge(bundle, false).then(() => {
F
fangJinliang1 已提交
1369
	console.info("displayBadge success");
1370 1371 1372
});
```

1373
## notificationManager.isBadgeDisplayed
1374 1375 1376

isBadgeDisplayed(bundle: BundleOption, callback: AsyncCallback\<boolean\>): void

F
fangJinliang1 已提交
1377
获取指定应用的角标使能状态(Callback形式)。
1378 1379 1380 1381 1382 1383 1384 1385 1386

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1387
| 参数名     | 类型                  | 必填 | 说明                     |
1388
| -------- | --------------------- | ---- | ------------------------ |
Y
yuyaozhi 已提交
1389
| bundle   | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption)          | 是   | 指定应用的包信息。               |
1390 1391 1392 1393
| callback | AsyncCallback\<void\> | 是   | 获取角标使能状态回调函数。 |

**错误码:**

F
fangJinliang1 已提交
1394 1395
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1396 1397
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1398 1399 1400
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1401 1402 1403 1404 1405 1406 1407
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1408
```ts
1409 1410
function isBadgeDisplayedCallback(err, data) {
    if (err) {
1411
        console.error(`isBadgeDisplayed failed, code is ${err.code}, message is ${err.message}`);
1412 1413 1414 1415
    } else {
        console.info("isBadgeDisplayed success");
    }
}
F
fangJinliang1 已提交
1416
let bundle = {
1417
    bundle: "bundleName1",
F
fangJinliang1 已提交
1418
};
1419
notificationManager.isBadgeDisplayed(bundle, isBadgeDisplayedCallback);
1420 1421
```

1422
## notificationManager.isBadgeDisplayed
1423 1424 1425

isBadgeDisplayed(bundle: BundleOption): Promise\<boolean\>

F
fangJinliang1 已提交
1426
获取指定应用的角标使能状态(Promise形式)。
1427 1428 1429 1430 1431 1432 1433 1434 1435

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1436
| 参数名   | 类型         | 必填 | 说明       |
1437
| ------ | ------------ | ---- | ---------- |
Y
yuyaozhi 已提交
1438
| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是   | 指定应用的包信息。 |
1439 1440 1441 1442 1443

**返回值:**

| 类型                                                        | 说明                                                         |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
F
fangJinliang1 已提交
1444
| Promise\<boolean\> | 以Promise形式返回获取指定应用的角标使能状态。 |
1445 1446 1447

**错误码:**

F
fangJinliang1 已提交
1448 1449
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1450 1451
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1452 1453 1454
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1455 1456 1457 1458 1459 1460 1461
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1462
```ts
F
fangJinliang1 已提交
1463
let bundle = {
1464
    bundle: "bundleName1",
F
fangJinliang1 已提交
1465
};
1466
notificationManager.isBadgeDisplayed(bundle).then((data) => {
F
fangJinliang1 已提交
1467
	console.info("isBadgeDisplayed success, data: " + JSON.stringify(data));
1468 1469 1470
});
```

F
fangJinliang1 已提交
1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488
## notificationManager.setBadgeNumber<sup>10+</sup>

setBadgeNumber(badgeNumber: number): Promise\<void\>

设定角标个数,在应用的桌面图标上呈现(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**参数:**

| 参数名      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| badgeNumber | number | 是   | 角标个数。 |

**错误码:**

| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
1489
| 401      | The parameter check failed.               |
F
fangJinliang1 已提交
1490 1491 1492
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
1493
| 1600012  | No memory space.                          |
F
fangJinliang1 已提交
1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524

**示例:**

```ts
let badgeNumber = 10
notificationManager.setBadgeNumber(badgeNumber).then(() => {
	console.info("displayBadge success");
});
```

## notificationManager.setBadgeNumber<sup>10+</sup>

setBadgeNumber(badgeNumber: number, callback: AsyncCallback\<void\>): void

设定角标个数,在应用的桌面图标上呈现(Callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**参数:**

| 参数名      | 类型                  | 必填 | 说明               |
| ----------- | --------------------- | ---- | ------------------ |
| badgeNumber | number                | 是   | 角标个数。         |
| callback    | AsyncCallback\<void\> | 是   | 设定角标回调函数。 |

**错误码:**

错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
1525
| 401      | The parameter check failed.               |
F
fangJinliang1 已提交
1526 1527 1528
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
1529
| 1600012  | No memory space.                          |
F
fangJinliang1 已提交
1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545

**示例:**

```ts
function setBadgeNumberCallback(err) {
    if (err) {
        console.info(`displayBadge failed code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("displayBadge success");
    }
}

let badgeNumber = 10
notificationManager.setBadgeNumber(badgeNumber, setBadgeNumberCallback);
```

1546
## notificationManager.setSlotByBundle
1547 1548 1549

setSlotByBundle(bundle: BundleOption, slot: NotificationSlot, callback: AsyncCallback\<void\>): void

F
fangJinliang1 已提交
1550
设定指定应用的通知通道(Callback形式)。
1551 1552 1553 1554 1555 1556 1557 1558 1559

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1560
| 参数名     | 类型                  | 必填 | 说明                 |
1561
| -------- | --------------------- | ---- | -------------------- |
Y
yuyaozhi 已提交
1562
| bundle   | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption)          | 是   | 指定应用的包信息。           |
1563
| slot     | [NotificationSlot](js-apis-inner-notification-notificationSlot.md)      | 是   | 通知通道。             |
1564 1565 1566 1567
| callback | AsyncCallback\<void\> | 是   | 设定通知通道回调函数。 |

**错误码:**

F
fangJinliang1 已提交
1568 1569
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1570 1571
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1572 1573 1574
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1575 1576 1577 1578 1579 1580 1581
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1582
```ts
1583 1584
function setSlotByBundleCallback(err) {
    if (err) {
1585
        console.error(`setSlotByBundle failed, code is ${err.code}, message is ${err.message}`);
1586 1587 1588 1589
    } else {
        console.info("setSlotByBundle success");
    }
}
F
fangJinliang1 已提交
1590
let bundle = {
1591
    bundle: "bundleName1",
F
fangJinliang1 已提交
1592 1593
};
let notificationSlot = {
1594
    type: notificationManager.SlotType.SOCIAL_COMMUNICATION
F
fangJinliang1 已提交
1595
};
1596
notificationManager.setSlotByBundle(bundle, notificationSlot, setSlotByBundleCallback);
1597 1598
```

1599
## notificationManager.setSlotByBundle
1600 1601 1602

setSlotByBundle(bundle: BundleOption, slot: NotificationSlot): Promise\<void\>

F
fangJinliang1 已提交
1603
设定指定应用的通知通道(Promise形式)。
1604 1605 1606 1607 1608 1609 1610 1611 1612

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1613
| 参数名   | 类型         | 必填 | 说明       |
1614
| ------ | ------------ | ---- | ---------- |
Y
yuyaozhi 已提交
1615
| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是   | 指定应用的包信息。 |
1616
| slot   | [NotificationSlot](js-apis-inner-notification-notificationSlot.md) | 是   | 通知通道。 |
1617 1618 1619

**错误码:**

F
fangJinliang1 已提交
1620 1621
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1622 1623
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1624 1625 1626
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1627 1628 1629 1630 1631 1632 1633
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1634
```ts
F
fangJinliang1 已提交
1635
let bundle = {
1636
    bundle: "bundleName1",
F
fangJinliang1 已提交
1637 1638
};
let notificationSlot = {
1639
    type: notificationManager.SlotType.SOCIAL_COMMUNICATION
F
fangJinliang1 已提交
1640
};
1641
notificationManager.setSlotByBundle(bundle, notificationSlot).then(() => {
F
fangJinliang1 已提交
1642
	console.info("setSlotByBundle success");
1643 1644 1645
});
```

1646
## notificationManager.getSlotsByBundle
1647 1648 1649

getSlotsByBundle(bundle: BundleOption, callback: AsyncCallback<Array\<NotificationSlot\>>): void

F
fangJinliang1 已提交
1650
获取指定应用的所有通知通道(Callback形式)。
1651 1652 1653 1654 1655 1656 1657 1658 1659

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1660
| 参数名     | 类型                                     | 必填 | 说明                 |
1661
| -------- | ---------------------------------------- | ---- | -------------------- |
Y
yuyaozhi 已提交
1662
| bundle   | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption)                             | 是   | 指定应用的包信息。           |
1663
| callback | AsyncCallback<Array\<[NotificationSlot](js-apis-inner-notification-notificationSlot.md)\>> | 是   | 获取通知通道回调函数。 |
1664 1665 1666

**错误码:**

F
fangJinliang1 已提交
1667 1668
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1669 1670
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1671 1672 1673
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1674 1675 1676 1677 1678 1679 1680
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1681
```ts
1682 1683
function getSlotsByBundleCallback(err, data) {
    if (err) {
1684
        console.error(`getSlotByBundle failed, code is ${err.code}, message is ${err.message}`);
1685 1686 1687 1688
    } else {
        console.info("getSlotsByBundle success");
    }
}
F
fangJinliang1 已提交
1689
let bundle = {
1690
    bundle: "bundleName1",
F
fangJinliang1 已提交
1691
};
1692
notificationManager.getSlotsByBundle(bundle, getSlotsByBundleCallback);
1693 1694
```

1695
## notificationManager.getSlotsByBundle
1696 1697 1698

getSlotsByBundle(bundle: BundleOption): Promise<Array\<NotificationSlot\>>

F
fangJinliang1 已提交
1699
获取指定应用的所有通知通道(Promise形式)。
1700 1701 1702 1703 1704 1705 1706 1707 1708

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1709
| 参数名   | 类型         | 必填 | 说明       |
1710
| ------ | ------------ | ---- | ---------- |
Y
yuyaozhi 已提交
1711
| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是   | 指定应用的包信息。 |
1712 1713 1714 1715 1716

**返回值:**

| 类型                                                        | 说明                                                         |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
1717
| Promise<Array\<[NotificationSlot](js-apis-inner-notification-notificationSlot.md)\>> | 以Promise形式返回获取指定应用的通知通道。 |
1718 1719 1720

**错误码:**

F
fangJinliang1 已提交
1721 1722
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1723 1724
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1725 1726 1727
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1728 1729 1730 1731 1732 1733 1734
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1735
```ts
F
fangJinliang1 已提交
1736
let bundle = {
1737
    bundle: "bundleName1",
F
fangJinliang1 已提交
1738
};
1739
notificationManager.getSlotsByBundle(bundle).then((data) => {
F
fangJinliang1 已提交
1740
	console.info("getSlotsByBundle success, data: " + JSON.stringify(data));
1741 1742 1743
});
```

1744
## notificationManager.getSlotNumByBundle
1745 1746 1747

getSlotNumByBundle(bundle: BundleOption, callback: AsyncCallback\<number\>): void

F
fangJinliang1 已提交
1748
获取指定应用的通知通道数量(Callback形式)。
1749 1750 1751 1752 1753 1754 1755 1756 1757

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1758
| 参数名     | 类型                      | 必填 | 说明                   |
1759
| -------- | ------------------------- | ---- | ---------------------- |
Y
yuyaozhi 已提交
1760
| bundle   | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption)              | 是   | 指定应用的包信息。             |
F
fangJinliang1 已提交
1761
| callback | AsyncCallback\<number\> | 是   | 获取通知通道数量回调函数。 |
1762 1763 1764

**错误码:**

F
fangJinliang1 已提交
1765 1766
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1767 1768
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1769 1770 1771
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1772 1773 1774 1775 1776 1777 1778
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1779
```ts
1780 1781
function getSlotNumByBundleCallback(err, data) {
    if (err) {
1782
        console.error(`getSlotByBundle failed, code is ${err.code}, message is ${err.message}`);
1783 1784 1785 1786
    } else {
        console.info("getSlotNumByBundle success");
    }
}
F
fangJinliang1 已提交
1787
let bundle = {
1788
    bundle: "bundleName1",
F
fangJinliang1 已提交
1789
};
1790
notificationManager.getSlotNumByBundle(bundle, getSlotNumByBundleCallback);
1791 1792
```

1793
## notificationManager.getSlotNumByBundle
1794 1795 1796

getSlotNumByBundle(bundle: BundleOption): Promise\<number\>

F
fangJinliang1 已提交
1797
获取指定应用的通知通道数量(Promise形式)。
1798 1799 1800 1801 1802 1803 1804 1805 1806

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1807
| 参数名   | 类型         | 必填 | 说明       |
1808
| ------ | ------------ | ---- | ---------- |
Y
yuyaozhi 已提交
1809
| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是   | 指定应用的包信息。 |
1810 1811 1812 1813 1814

**返回值:**

| 类型                                                        | 说明                                                         |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
F
fangJinliang1 已提交
1815
| Promise\<number\> | 以Promise形式返回获取指定应用的通知通道数量。 |
1816 1817 1818

**错误码:**

F
fangJinliang1 已提交
1819 1820
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1821 1822
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
1823 1824 1825
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1826 1827 1828 1829 1830 1831 1832
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

1833
```ts
F
fangJinliang1 已提交
1834
let bundle = {
1835
    bundle: "bundleName1",
F
fangJinliang1 已提交
1836
};
1837
notificationManager.getSlotNumByBundle(bundle).then((data) => {
F
fangJinliang1 已提交
1838
	console.info("getSlotNumByBundle success, data: " + JSON.stringify(data));
1839 1840 1841 1842
});
```


1843
## notificationManager.getAllActiveNotifications
1844 1845 1846

getAllActiveNotifications(callback: AsyncCallback<Array\<NotificationRequest\>>): void

F
fangJinliang1 已提交
1847
获取当前未删除的所有通知(Callback形式)。
1848 1849 1850 1851 1852 1853 1854 1855 1856

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
1857
| 参数名     | 类型                                                         | 必填 | 说明                 |
1858
| -------- | ------------------------------------------------------------ | ---- | -------------------- |
1859
| callback | AsyncCallback<Array\<[NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest)\>> | 是   | 获取活动通知回调函数。 |
1860 1861 1862 1863 1864

**错误码:**

| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
1865 1866 1867
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1868 1869 1870 1871 1872 1873
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

1874
```ts
1875 1876
function getAllActiveNotificationsCallback(err, data) {
    if (err) {
1877
        console.error(`getAllActiveNotifications failed, code is ${err.code}, message is ${err.message}`);
1878 1879 1880 1881 1882
    } else {
        console.info("getAllActiveNotifications success");
    }
}

1883
notificationManager.getAllActiveNotifications(getAllActiveNotificationsCallback);
1884 1885
```

1886
## notificationManager.getAllActiveNotifications
1887

1888
getAllActiveNotifications(): Promise\<Array\<[NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest)\>\>
1889

F
fangJinliang1 已提交
1890
获取当前未删除的所有通知(Promise形式)。
1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**返回值:**

| 类型                                                        | 说明                                                         |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
1902
| Promise\<Array\<[NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest)\>\> | 以Promise形式返回获取活动通知。 |
1903 1904 1905

**错误码:**

F
fangJinliang1 已提交
1906 1907
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1908 1909
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
1910 1911 1912
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
1913 1914 1915 1916 1917 1918
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

1919 1920
```ts
notificationManager.getAllActiveNotifications().then((data) => {
F
fangJinliang1 已提交
1921
	console.info("getAllActiveNotifications success, data: " + JSON.stringify(data));
1922 1923 1924
});
```

1925
## notificationManager.getActiveNotificationCount
1926 1927 1928

getActiveNotificationCount(callback: AsyncCallback\<number\>): void

F
fangJinliang1 已提交
1929
获取当前应用未删除的通知数(Callback形式)。
1930 1931 1932 1933 1934

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
1935
| 参数名     | 类型                   | 必填 | 说明                   |
1936
| -------- | ---------------------- | ---- | ---------------------- |
F
fangJinliang1 已提交
1937
| callback | AsyncCallback\<number\> | 是   | 获取未删除通知数回调函数。 |
1938 1939 1940

**错误码:**

F
fangJinliang1 已提交
1941 1942
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1943 1944
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
1945
| 401      | The parameter check failed.         |
1946 1947 1948 1949 1950 1951
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

1952
```ts
1953 1954
function getActiveNotificationCountCallback(err, data) {
    if (err) {
1955
        console.error(`getActiveNotificationCount failed, code is ${err.code}, message is ${err.message}`);
1956 1957 1958 1959 1960
    } else {
        console.info("getActiveNotificationCount success");
    }
}

1961
notificationManager.getActiveNotificationCount(getActiveNotificationCountCallback);
1962 1963
```

1964
## notificationManager.getActiveNotificationCount
1965 1966 1967

getActiveNotificationCount(): Promise\<number\>

F
fangJinliang1 已提交
1968
获取当前应用未删除的通知数(Promise形式)。
1969 1970 1971 1972 1973

**系统能力**:SystemCapability.Notification.Notification

**返回值:**

F
fangJinliang1 已提交
1974 1975 1976
| 类型              | 说明                                        |
| ----------------- | ------------------------------------------- |
| Promise\<number\> | 以Promise形式返回获取当前应用未删除通知数。 |
1977 1978 1979

**错误码:**

F
fangJinliang1 已提交
1980 1981
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

1982 1983
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
1984
| 401      | The parameter check failed.         |
1985 1986 1987 1988 1989 1990
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

1991 1992
```ts
notificationManager.getActiveNotificationCount().then((data) => {
F
fangJinliang1 已提交
1993
	console.info("getActiveNotificationCount success, data: " + JSON.stringify(data));
1994 1995 1996
});
```

1997
## notificationManager.getActiveNotifications
1998 1999 2000

getActiveNotifications(callback: AsyncCallback<Array\<NotificationRequest\>>): void

F
fangJinliang1 已提交
2001
获取当前应用未删除的通知列表(Callback形式)。
2002 2003 2004 2005 2006

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
2007
| 参数名     | 类型                                                         | 必填 | 说明                           |
2008
| -------- | ------------------------------------------------------------ | ---- | ------------------------------ |
2009
| callback | AsyncCallback<Array\<[NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest)\>> | 是   | 获取当前应用通知列表回调函数。 |
2010 2011 2012

**错误码:**

F
fangJinliang1 已提交
2013 2014
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2015 2016
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2017
| 401      | The parameter check failed.         |
2018 2019 2020 2021 2022 2023
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

2024
```ts
2025 2026
function getActiveNotificationsCallback(err, data) {
    if (err) {
2027
        console.error(`getActiveNotifications failed, code is ${err.code}, message is ${err.message}`);
2028 2029 2030 2031 2032
    } else {
        console.info("getActiveNotifications success");
    }
}

2033
notificationManager.getActiveNotifications(getActiveNotificationsCallback);
2034 2035
```

2036
## notificationManager.getActiveNotifications
2037

2038
getActiveNotifications(): Promise\<Array\<[NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest)\>\>
2039

F
fangJinliang1 已提交
2040
获取当前应用未删除的通知列表(Promise形式)。
2041 2042 2043 2044 2045

**系统能力**:SystemCapability.Notification.Notification

**返回值:**

F
fangJinliang1 已提交
2046 2047
| 类型                                                         | 说明                                    |
| ------------------------------------------------------------ | --------------------------------------- |
2048
| Promise\<Array\<[NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest)\>\> | 以Promise形式返回获取当前应用通知列表。 |
2049 2050 2051

**错误码:**

F
fangJinliang1 已提交
2052 2053
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2054 2055
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2056
| 401      | The parameter check failed.         |
2057 2058 2059 2060 2061 2062
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

2063 2064
```ts
notificationManager.getActiveNotifications().then((data) => {
F
fangJinliang1 已提交
2065
	console.info("removeGroupByBundle success, data: " + JSON.stringify(data));
2066 2067 2068
});
```

2069
## notificationManager.cancelGroup
2070 2071 2072

cancelGroup(groupName: string, callback: AsyncCallback\<void\>): void

F
fangJinliang1 已提交
2073
取消本应用指定组下的通知(Callback形式)。
2074 2075 2076 2077 2078

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
2079
| 参数名      | 类型                  | 必填 | 说明                         |
2080
| --------- | --------------------- | ---- | ---------------------------- |
2081
| groupName | string                | 是   | 通知组名称,此名称需要在发布通知时通过[NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest)对象指定。 |
F
fangJinliang1 已提交
2082
| callback  | AsyncCallback\<void\> | 是   | 取消本应用指定组下通知的回调函数。 |
2083 2084 2085

**错误码:**

F
fangJinliang1 已提交
2086 2087
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2088 2089
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2090
| 401      | The parameter check failed.         |
2091 2092 2093 2094 2095 2096
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

2097
```ts
2098 2099
function cancelGroupCallback(err) {
    if (err) {
2100
        console.error(`cancelGroup failed, code is ${err.code}, message is ${err.message}`);
2101 2102 2103 2104 2105
    } else {
        console.info("cancelGroup success");
    }
}

F
fangJinliang1 已提交
2106
let groupName = "GroupName";
2107

2108
notificationManager.cancelGroup(groupName, cancelGroupCallback);
2109 2110
```

2111
## notificationManager.cancelGroup
2112 2113 2114

cancelGroup(groupName: string): Promise\<void\>

F
fangJinliang1 已提交
2115
取消本应用指定组下的通知(Promise形式)。
2116 2117 2118 2119 2120

**系统能力**:SystemCapability.Notification.Notification

**参数:**

F
fangJinliang1 已提交
2121
| 参数名      | 类型   | 必填 | 说明           |
2122
| --------- | ------ | ---- | -------------- |
F
fangJinliang1 已提交
2123
| groupName | string | 是   | 通知组名称。 |
2124 2125 2126

**错误码:**

F
fangJinliang1 已提交
2127 2128
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2129 2130
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2131
| 401      | The parameter check failed.         |
2132 2133 2134 2135 2136 2137
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

2138
```ts
F
fangJinliang1 已提交
2139
let groupName = "GroupName";
2140
notificationManager.cancelGroup(groupName).then(() => {
F
fangJinliang1 已提交
2141
	console.info("cancelGroup success");
2142 2143 2144
});
```

2145
## notificationManager.removeGroupByBundle
2146 2147 2148

removeGroupByBundle(bundle: BundleOption, groupName: string, callback: AsyncCallback\<void\>): void

F
fangJinliang1 已提交
2149
删除指定应用的指定组下的通知(Callback形式)。
2150 2151 2152 2153 2154 2155 2156 2157 2158

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
2159
| 参数名      | 类型                  | 必填 | 说明                         |
2160
| --------- | --------------------- | ---- | ---------------------------- |
Y
yuyaozhi 已提交
2161
| bundle    | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption)          | 是   | 应用的包信息。                   |
F
fangJinliang1 已提交
2162 2163
| groupName | string                | 是   | 通知组名称。               |
| callback  | AsyncCallback\<void\> | 是   | 删除指定应用指定组下通知的回调函数。 |
2164 2165 2166

**错误码:**

F
fangJinliang1 已提交
2167 2168
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2169 2170
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
2171 2172 2173
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2174 2175 2176 2177 2178 2179 2180
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

2181
```ts
2182 2183
function removeGroupByBundleCallback(err) {
    if (err) {
2184
        console.error(`removeGroupByBundle failed, code is ${err.code}, message is ${err.message}`);
2185 2186 2187 2188 2189
    } else {
        console.info("removeGroupByBundle success");
    }
}

F
fangJinliang1 已提交
2190 2191
let bundleOption = {bundle: "Bundle"};
let groupName = "GroupName";
2192

2193
notificationManager.removeGroupByBundle(bundleOption, groupName, removeGroupByBundleCallback);
2194 2195
```

2196
## notificationManager.removeGroupByBundle
2197 2198 2199

removeGroupByBundle(bundle: BundleOption, groupName: string): Promise\<void\>

F
fangJinliang1 已提交
2200
删除指定应用的指定组下的通知(Promise形式)。
2201 2202 2203 2204 2205 2206 2207 2208 2209

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
2210
| 参数名      | 类型         | 必填 | 说明           |
2211
| --------- | ------------ | ---- | -------------- |
Y
yuyaozhi 已提交
2212
| bundle    | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是   | 应用的包信息。     |
F
fangJinliang1 已提交
2213
| groupName | string       | 是   | 通知组名称。 |
2214 2215 2216

**错误码:**

F
fangJinliang1 已提交
2217 2218
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2219 2220
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
2221 2222 2223
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2224 2225 2226 2227 2228 2229 2230
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

2231
```ts
F
fangJinliang1 已提交
2232 2233
let bundleOption = {bundle: "Bundle"};
let groupName = "GroupName";
2234
notificationManager.removeGroupByBundle(bundleOption, groupName).then(() => {
F
fangJinliang1 已提交
2235
	console.info("removeGroupByBundle success");
2236 2237 2238
});
```

2239
## notificationManager.setDoNotDisturbDate
2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252

setDoNotDisturbDate(date: DoNotDisturbDate, callback: AsyncCallback\<void\>): void

设置免打扰时间(Callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
2253
| 参数名     | 类型                  | 必填 | 说明                   |
2254 2255 2256 2257 2258 2259
| -------- | --------------------- | ---- | ---------------------- |
| date     | [DoNotDisturbDate](#donotdisturbdate)      | 是   | 免打扰时间选项。         |
| callback | AsyncCallback\<void\> | 是   | 设置免打扰时间回调函数。 |

**错误码:**

F
fangJinliang1 已提交
2260 2261
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2262 2263
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2264 2265 2266
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2267 2268 2269
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
2270
| 1600012  | No memory space.                          |
2271 2272 2273

**示例:**

2274
```ts
2275 2276
function setDoNotDisturbDateCallback(err) {
    if (err) {
2277
        console.error(`setDoNotDisturbDate failed, code is ${err.code}, message is ${err.message}`);
2278 2279 2280 2281 2282
    } else {
        console.info("setDoNotDisturbDate success");
    }
}

F
fangJinliang1 已提交
2283
let doNotDisturbDate = {
2284
    type: notificationManager.DoNotDisturbType.TYPE_ONCE,
2285 2286
    begin: new Date(),
    end: new Date(2021, 11, 15, 18, 0)
F
fangJinliang1 已提交
2287
};
2288

2289
notificationManager.setDoNotDisturbDate(doNotDisturbDate, setDoNotDisturbDateCallback);
2290 2291
```

2292
## notificationManager.setDoNotDisturbDate
2293 2294 2295

setDoNotDisturbDate(date: DoNotDisturbDate): Promise\<void\>

F
fangJinliang1 已提交
2296
设置免打扰时间(Promise形式)。
2297 2298 2299 2300 2301 2302 2303 2304 2305

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
2306
| 参数名 | 类型             | 必填 | 说明           |
2307 2308 2309 2310 2311
| ---- | ---------------- | ---- | -------------- |
| date | [DoNotDisturbDate](#donotdisturbdate) | 是   | 免打扰时间选项。 |

**错误码:**

F
fangJinliang1 已提交
2312 2313
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2314 2315
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2316 2317 2318
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2319 2320 2321
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
2322
| 1600012  | No memory space.                          |
2323 2324 2325

**示例:**

2326
```ts
F
fangJinliang1 已提交
2327
let doNotDisturbDate = {
2328
    type: notificationManager.DoNotDisturbType.TYPE_ONCE,
2329 2330
    begin: new Date(),
    end: new Date(2021, 11, 15, 18, 0)
F
fangJinliang1 已提交
2331
};
2332
notificationManager.setDoNotDisturbDate(doNotDisturbDate).then(() => {
F
fangJinliang1 已提交
2333
	console.info("setDoNotDisturbDate success");
2334 2335 2336 2337
});
```


2338
## notificationManager.setDoNotDisturbDate
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351

setDoNotDisturbDate(date: DoNotDisturbDate, userId: number, callback: AsyncCallback\<void\>): void

指定用户设置免打扰时间(Callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
2352
| 参数名     | 类型                  | 必填 | 说明                   |
2353 2354
| -------- | --------------------- | ---- | ---------------------- |
| date     | [DoNotDisturbDate](#donotdisturbdate)      | 是   | 免打扰时间选项。         |
F
fangJinliang1 已提交
2355
| userId   | number                | 是   | 设置免打扰时间的用户ID。 |
2356 2357 2358 2359
| callback | AsyncCallback\<void\> | 是   | 设置免打扰时间回调函数。 |

**错误码:**

F
fangJinliang1 已提交
2360 2361
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2362 2363
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2364 2365 2366
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2367 2368 2369 2370
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600008  | The user is not exist.              |
2371
| 1600012  | No memory space.                          |
2372 2373 2374

**示例:**

2375
```ts
2376 2377
function setDoNotDisturbDateCallback(err) {
    if (err) {
2378
        console.error(`setDoNotDisturbDate failed, code is ${err.code}, message is ${err.message}`);
2379 2380 2381 2382 2383
    } else {
        console.info("setDoNotDisturbDate success");
    }
}

F
fangJinliang1 已提交
2384
let doNotDisturbDate = {
2385
    type: notificationManager.DoNotDisturbType.TYPE_ONCE,
2386 2387
    begin: new Date(),
    end: new Date(2021, 11, 15, 18, 0)
F
fangJinliang1 已提交
2388
};
2389

F
fangJinliang1 已提交
2390
let userId = 1;
2391

2392
notificationManager.setDoNotDisturbDate(doNotDisturbDate, userId, setDoNotDisturbDateCallback);
2393 2394
```

2395
## notificationManager.setDoNotDisturbDate
2396 2397 2398

setDoNotDisturbDate(date: DoNotDisturbDate, userId: number): Promise\<void\>

F
fangJinliang1 已提交
2399
指定用户设置免打扰时间(Promise形式)。
2400 2401 2402 2403 2404 2405 2406 2407 2408

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
2409
| 参数名   | 类型             | 必填 | 说明           |
2410 2411
| ------ | ---------------- | ---- | -------------- |
| date   | [DoNotDisturbDate](#donotdisturbdate) | 是   | 免打扰时间选项。 |
F
fangJinliang1 已提交
2412
| userId | number           | 是   | 设置免打扰时间的用户ID。 |
2413 2414 2415

**错误码:**

F
fangJinliang1 已提交
2416 2417
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2418 2419
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2420 2421 2422
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2423 2424 2425 2426
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600008  | The user is not exist.              |
2427
| 1600012  | No memory space.                          |
2428 2429 2430

**示例:**

2431
```ts
F
fangJinliang1 已提交
2432
let doNotDisturbDate = {
2433
    type: notificationManager.DoNotDisturbType.TYPE_ONCE,
2434 2435
    begin: new Date(),
    end: new Date(2021, 11, 15, 18, 0)
F
fangJinliang1 已提交
2436
};
2437

F
fangJinliang1 已提交
2438
let userId = 1;
2439

2440
notificationManager.setDoNotDisturbDate(doNotDisturbDate, userId).then(() => {
F
fangJinliang1 已提交
2441
	console.info("setDoNotDisturbDate success");
2442 2443 2444 2445
});
```


2446
## notificationManager.getDoNotDisturbDate
2447 2448 2449

getDoNotDisturbDate(callback: AsyncCallback\<DoNotDisturbDate\>): void

F
fangJinliang1 已提交
2450
查询免打扰时间(Callback形式)。
2451 2452 2453 2454 2455 2456 2457 2458 2459

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
2460
| 参数名     | 类型                              | 必填 | 说明                   |
2461 2462 2463 2464 2465
| -------- | --------------------------------- | ---- | ---------------------- |
| callback | AsyncCallback\<[DoNotDisturbDate](#donotdisturbdate)\> | 是   | 查询免打扰时间回调函数。 |

**错误码:**

F
fangJinliang1 已提交
2466 2467
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2468 2469
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2470 2471 2472
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2473 2474 2475
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
2476
| 1600012  | No memory space.                          |
2477 2478 2479

**示例:**

2480
```ts
2481 2482
function getDoNotDisturbDateCallback(err,data) {
    if (err) {
2483
        console.error(`getDoNotDisturbDate failed, code is ${err.code}, message is ${err.message}`);
2484 2485 2486 2487 2488
    } else {
        console.info("getDoNotDisturbDate success");
    }
}

2489
notificationManager.getDoNotDisturbDate(getDoNotDisturbDateCallback);
2490 2491
```

2492
## notificationManager.getDoNotDisturbDate
2493 2494 2495

getDoNotDisturbDate(): Promise\<DoNotDisturbDate\>

F
fangJinliang1 已提交
2496
查询免打扰时间(Promise形式)。
2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**返回值:**

| 类型                                             | 说明                                      |
| ------------------------------------------------ | ----------------------------------------- |
F
fangJinliang1 已提交
2508
| Promise\<[DoNotDisturbDate](#donotdisturbdate)\> | 以Promise形式返回获取查询到的免打扰时间。 |
2509 2510 2511

**错误码:**

F
fangJinliang1 已提交
2512 2513
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2514 2515
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2516 2517 2518
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2519 2520 2521
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
2522
| 1600012  | No memory space.                          |
2523 2524 2525

**示例:**

2526 2527
```ts
notificationManager.getDoNotDisturbDate().then((data) => {
F
fangJinliang1 已提交
2528
	console.info("getDoNotDisturbDate success, data: " + JSON.stringify(data));
2529 2530 2531 2532
});
```


2533
## notificationManager.getDoNotDisturbDate
2534 2535 2536

getDoNotDisturbDate(userId: number, callback: AsyncCallback\<DoNotDisturbDate\>): void

F
fangJinliang1 已提交
2537
查询指定用户的免打扰时间(Callback形式)。
2538 2539 2540 2541 2542 2543 2544 2545 2546

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
2547
| 参数名     | 类型                              | 必填 | 说明                   |
2548 2549
| -------- | --------------------------------- | ---- | ---------------------- |
| callback | AsyncCallback\<[DoNotDisturbDate](#donotdisturbdate)\> | 是   | 查询免打扰时间回调函数。 |
F
fangJinliang1 已提交
2550
| userId   | number                            | 是   | 用户ID。 |
2551 2552 2553

**错误码:**

F
fangJinliang1 已提交
2554 2555
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2556 2557
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2558 2559 2560
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2561 2562 2563 2564
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600008  | The user is not exist.              |
2565
| 1600012  | No memory space.                          |
2566 2567 2568

**示例:**

2569
```ts
2570 2571
function getDoNotDisturbDateCallback(err,data) {
    if (err) {
2572
        console.error(`getDoNotDisturbDate failed, code is ${err.code}, message is ${err.message}`);
2573 2574 2575 2576 2577
    } else {
        console.info("getDoNotDisturbDate success");
    }
}

F
fangJinliang1 已提交
2578
let userId = 1;
2579

2580
notificationManager.getDoNotDisturbDate(userId, getDoNotDisturbDateCallback);
2581 2582
```

2583
## notificationManager.getDoNotDisturbDate
2584 2585 2586

getDoNotDisturbDate(userId: number): Promise\<DoNotDisturbDate\>

F
fangJinliang1 已提交
2587
查询指定用户的免打扰时间(Promise形式)。
2588 2589 2590 2591 2592 2593 2594 2595 2596

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
2597
| 参数名     | 类型                              | 必填 | 说明                   |
2598
| -------- | --------------------------------- | ---- | ---------------------- |
F
fangJinliang1 已提交
2599
| userId   | number                            | 是   | 用户ID。 |
2600 2601 2602 2603 2604

**返回值:**

| 类型                                             | 说明                                      |
| ------------------------------------------------ | ----------------------------------------- |
F
fangJinliang1 已提交
2605
| Promise\<[DoNotDisturbDate](#donotdisturbdate)\> | 以Promise形式返回获取查询到的免打扰时间。 |
2606 2607 2608

**错误码:**

F
fangJinliang1 已提交
2609 2610
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2611 2612
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2613 2614 2615
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2616 2617 2618 2619
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600008  | The user is not exist.              |
2620
| 1600012  | No memory space.                          |
2621 2622 2623

**示例:**

2624
```ts
F
fangJinliang1 已提交
2625
let userId = 1;
2626

2627
notificationManager.getDoNotDisturbDate(userId).then((data) => {
F
fangJinliang1 已提交
2628
	console.info("getDoNotDisturbDate success, data: " + JSON.stringify(data));
2629 2630 2631 2632
});
```


F
fangJinliang1 已提交
2633
## notificationManager.isSupportDoNotDisturbMode
2634

F
fangJinliang1 已提交
2635
 isSupportDoNotDisturbMode(callback: AsyncCallback\<boolean\>): void
2636

F
fangJinliang1 已提交
2637
查询是否支持免打扰功能(Callback形式)。
2638 2639 2640 2641 2642 2643 2644 2645 2646

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
2647
| 参数名     | 类型                     | 必填 | 说明                             |
2648
| -------- | ------------------------ | ---- | -------------------------------- |
F
fangJinliang1 已提交
2649
| callback | AsyncCallback\<boolean\> | 是   | 查询是否支持免打扰功能回调函数。 |
2650 2651 2652 2653 2654

**错误码:**

| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2655 2656 2657
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2658 2659 2660 2661 2662 2663
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

2664
```ts
F
fangJinliang1 已提交
2665
function isSupportDoNotDisturbModeCallback(err,data) {
2666
    if (err) {
2667
        console.error(`isSupportDoNotDisturbMode failed, code is ${err.code}, message is ${err.message}`);
2668
    } else {
F
fangJinliang1 已提交
2669
        console.info("isSupportDoNotDisturbMode success");
2670 2671 2672
    }
}

F
fangJinliang1 已提交
2673
notificationManager.isSupportDoNotDisturbMode(isSupportDoNotDisturbModeCallback);
2674 2675
```

F
fangJinliang1 已提交
2676
## notificationManager.isSupportDoNotDisturbMode
2677

F
fangJinliang1 已提交
2678
isSupportDoNotDisturbMode(): Promise\<boolean\>
2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691

查询是否支持勿扰模式功能(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**返回值:**

| 类型                                                        | 说明                                                         |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
F
fangJinliang1 已提交
2692
| Promise\<boolean\> | 以Promise形式返回获取是否支持免打扰功能的结果。 |
2693 2694 2695

**错误码:**

F
fangJinliang1 已提交
2696 2697
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2698 2699
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2700 2701 2702
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2703 2704 2705 2706 2707 2708
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

2709
```ts
F
fangJinliang1 已提交
2710
notificationManager.isSupportDoNotDisturbMode().then((data) => {
F
fangJinliang1 已提交
2711
	console.info("supportDoNotDisturbMode success, data: " + JSON.stringify(data));
2712 2713 2714
});
```

2715
## notificationManager.isSupportTemplate
2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731

isSupportTemplate(templateName: string, callback: AsyncCallback\<boolean\>): void

查询模板是否存在(Callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**参数:**

| 参数名       | 类型                     | 必填 | 说明                       |
| ------------ | ------------------------ | ---- | -------------------------- |
| templateName | string                   | 是   | 模板名称。                   |
| callback     | AsyncCallback\<boolean\> | 是   | 查询模板是否存在的回调函数。 |

**错误码:**

F
fangJinliang1 已提交
2732 2733
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2734 2735
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2736
| 401      | The parameter check failed.         |
2737 2738 2739 2740 2741 2742 2743 2744
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600011  | Read template config failed.        |

**示例:**

```javascript
F
fangJinliang1 已提交
2745
let templateName = 'process';
2746 2747
function isSupportTemplateCallback(err, data) {
    if (err) {
2748
        console.error(`isSupportTemplate failed, code is ${err.code}, message is ${err.message}`);
2749 2750 2751 2752 2753
    } else {
        console.info("isSupportTemplate success");
    }
}

2754
notificationManager.isSupportTemplate(templateName, isSupportTemplateCallback);
2755 2756
```

2757
## notificationManager.isSupportTemplate
2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778

isSupportTemplate(templateName: string): Promise\<boolean\>

查询模板是否存在(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**参数:**

| 参数名       | 类型   | 必填 | 说明     |
| ------------ | ------ | ---- | -------- |
| templateName | string | 是   | 模板名称。 |

**返回值:**

| 类型               | 说明            |
| ------------------ | --------------- |
| Promise\<boolean\> | Promise方式返回模板是否存在的结果。 |

**错误码:**

F
fangJinliang1 已提交
2779 2780
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2781 2782
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2783
| 401      | The parameter check failed.         |
2784 2785 2786 2787 2788 2789 2790 2791
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600011  | Read template config failed.        |

**示例:**

```javascript
F
fangJinliang1 已提交
2792
let templateName = 'process';
2793

2794
notificationManager.isSupportTemplate(templateName).then((data) => {
2795 2796 2797 2798
    console.info("isSupportTemplate success, data: " + JSON.stringify(data));
});
```

2799
## notificationManager.requestEnableNotification
2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814

requestEnableNotification(callback: AsyncCallback\<void\>): void

应用请求通知使能(Callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**参数:**

| 参数名   | 类型                     | 必填 | 说明                       |
| -------- | ------------------------ | ---- | -------------------------- |
| callback | AsyncCallback\<void\> | 是   | 应用请求通知使能的回调函数。 |

**错误码:**

F
fangJinliang1 已提交
2815 2816
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2817 2818
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2819
| 401      | The parameter check failed.         |
2820 2821 2822 2823 2824 2825 2826 2827 2828
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

```javascript
function requestEnableNotificationCallback(err) {
    if (err) {
2829
        console.error(`requestEnableNotification failed, code is ${err.code}, message is ${err.message}`);
2830 2831 2832 2833 2834
    } else {
        console.info("requestEnableNotification success");
    }
};

2835
notificationManager.requestEnableNotification(requestEnableNotificationCallback);
2836 2837
```

2838
## notificationManager.requestEnableNotification
2839 2840 2841 2842 2843 2844 2845 2846 2847

requestEnableNotification(): Promise\<void\>

应用请求通知使能(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**错误码:**

F
fangJinliang1 已提交
2848 2849
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2850 2851
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2852
| 401      | The parameter check failed.         |
2853 2854 2855 2856 2857 2858 2859
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

```javascript
2860
notificationManager.requestEnableNotification().then(() => {
F
fangJinliang1 已提交
2861 2862
    console.info("requestEnableNotification success");
});
2863 2864 2865 2866
```



2867
## notificationManager.setDistributedEnable
2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882

setDistributedEnable(enable: boolean, callback: AsyncCallback\<void\>): void

设置设备是否支持分布式通知(Callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名   | 类型                     | 必填 | 说明                       |
| -------- | ------------------------ | ---- | -------------------------- |
F
fangJinliang1 已提交
2883
| enable   | boolean                  | 是   | 是否支持。 |
2884 2885 2886 2887
| callback | AsyncCallback\<void\> | 是   | 设置设备是否支持分布式通知的回调函数。 |

**错误码:**

F
fangJinliang1 已提交
2888 2889
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2890 2891
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2892 2893 2894
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2895 2896 2897 2898 2899 2900 2901 2902
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600010  | Distributed operation failed.       |

**示例:**

```javascript
2903
function setDistributedEnableCallback(err) {
2904
    if (err) {
2905
        console.error(`setDistributedEnable failed, code is ${err.code}, message is ${err.message}`);
2906 2907 2908 2909 2910
    } else {
        console.info("setDistributedEnable success");
    }
};

F
fangJinliang1 已提交
2911
let enable = true;
2912

2913
notificationManager.setDistributedEnable(enable, setDistributedEnableCallback);
2914 2915
```

2916
## notificationManager.setDistributedEnable
2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931

setDistributedEnable(enable: boolean): Promise\<void>

设置设备是否支持分布式通知(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名   | 类型                     | 必填 | 说明                       |
| -------- | ------------------------ | ---- | -------------------------- |
F
fangJinliang1 已提交
2932
| enable   | boolean                  | 是   | 是否支持。 |
2933 2934 2935

**错误码:**

F
fangJinliang1 已提交
2936 2937
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2938 2939
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2940 2941 2942
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
2943 2944 2945 2946 2947 2948 2949 2950
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600010  | Distributed operation failed.       |

**示例:**

```javascript
F
fangJinliang1 已提交
2951
let enable = true;
2952

2953
notificationManager.setDistributedEnable(enable).then(() => {
F
fangJinliang1 已提交
2954
        console.info("setDistributedEnable success");
2955 2956 2957 2958
    });
```


2959
## notificationManager.isDistributedEnabled
2960 2961 2962

isDistributedEnabled(callback: AsyncCallback\<boolean>): void

F
fangJinliang1 已提交
2963
查询设备是否支持分布式通知(Callback形式)。
2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974

**系统能力**:SystemCapability.Notification.Notification

**参数:**

| 参数名   | 类型                     | 必填 | 说明                       |
| -------- | ------------------------ | ---- | -------------------------- |
| callback | AsyncCallback\<boolean\> | 是   | 设备是否支持分布式通知的回调函数。 |

**错误码:**

F
fangJinliang1 已提交
2975 2976
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

2977 2978
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
2979
| 401      | The parameter check failed.         |
2980 2981 2982 2983 2984 2985 2986 2987
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600010  | Distributed operation failed.       |

**示例:**

```javascript
F
fangJinliang1 已提交
2988
function isDistributedEnabledCallback(err, data) {
2989
    if (err) {
2990
        console.error(`isDistributedEnabled failed, code is ${err.code}, message is ${err.message}`);
2991
    } else {
F
fangJinliang1 已提交
2992
        console.info("isDistributedEnabled success " + JSON.stringify(data));
2993 2994 2995
    }
};

2996
notificationManager.isDistributedEnabled(isDistributedEnabledCallback);
2997 2998 2999 3000
```



3001
## notificationManager.isDistributedEnabled
3002 3003 3004

isDistributedEnabled(): Promise\<boolean>

F
fangJinliang1 已提交
3005
查询设备是否支持分布式通知(Promise形式)。
3006 3007 3008 3009 3010

**系统能力**:SystemCapability.Notification.Notification

**返回值:**

F
fangJinliang1 已提交
3011 3012 3013
| 类型               | 说明                                          |
| ------------------ | --------------------------------------------- |
| Promise\<boolean\> | Promise方式返回设备是否支持分布式通知的结果。 |
3014 3015 3016

**错误码:**

F
fangJinliang1 已提交
3017 3018
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3019 3020
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
3021
| 401      | The parameter check failed.         |
3022 3023 3024 3025 3026 3027 3028 3029
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600010  | Distributed operation failed.       |

**示例:**

```javascript
3030
notificationManager.isDistributedEnabled()
3031
    .then((data) => {
F
fangJinliang1 已提交
3032
        console.info("isDistributedEnabled success, data: " + JSON.stringify(data));
3033 3034 3035 3036
    });
```


3037
## notificationManager.setDistributedEnableByBundle
3038 3039 3040

setDistributedEnableByBundle(bundle: BundleOption, enable: boolean, callback: AsyncCallback\<void>): void

F
fangJinliang1 已提交
3041
设置指定应用是否支持分布式通知(Callback形式)。
3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名   | 类型                     | 必填 | 说明                       |
| -------- | ------------------------ | ---- | -------------------------- |
Y
yuyaozhi 已提交
3053
| bundle   | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption)             | 是   | 应用的包信息。                   |
3054 3055 3056 3057 3058
| enable   | boolean                  | 是   | 是否支持。                       |
| callback | AsyncCallback\<void\> | 是   | 应用程序是否支持分布式通知的回调函数。 |

**错误码:**

F
fangJinliang1 已提交
3059 3060
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3061 3062
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
3063 3064 3065
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 1600010  | Distributed operation failed.            |
| 17700001 | The specified bundle name was not found. |

**示例:**

```javascript
function setDistributedEnableByBundleCallback(err) {
    if (err) {
3077
        console.error(`setDistributedEnableByBundle failed, code is ${err.code}, message is ${err.message}`);
3078 3079 3080 3081 3082
    } else {
        console.info("enableDistributedByBundle success");
    }
};

F
fangJinliang1 已提交
3083
let bundle = {
3084
    bundle: "bundleName1",
F
fangJinliang1 已提交
3085
};
3086

F
fangJinliang1 已提交
3087
let enable = true
3088

3089
notificationManager.setDistributedEnableByBundle(bundle, enable, setDistributedEnableByBundleCallback);
3090 3091 3092 3093
```



3094
## notificationManager.setDistributedEnableByBundle
3095 3096 3097

setDistributedEnableByBundle(bundle: BundleOption, enable: boolean): Promise\<void>

F
fangJinliang1 已提交
3098
设置指定应用是否支持分布式通知(Promise形式)。
3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名   | 类型                     | 必填 | 说明                       |
| -------- | ------------------------ | ---- | -------------------------- |
Y
yuyaozhi 已提交
3110
| bundle   | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption)             | 是   | 应用的包。                |
3111 3112 3113 3114
| enable   | boolean                  | 是   | 是否支持。                  |

**错误码:**

F
fangJinliang1 已提交
3115 3116
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3117 3118
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
3119 3120 3121
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3122 3123 3124 3125 3126 3127 3128 3129 3130
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 1600010  | Distributed operation failed.            |
| 17700001 | The specified bundle name was not found. |

**示例:**

```javascript
F
fangJinliang1 已提交
3131
let bundle = {
3132
    bundle: "bundleName1",
F
fangJinliang1 已提交
3133
};
3134

F
fangJinliang1 已提交
3135
let enable = true
3136

3137 3138 3139
notificationManager.setDistributedEnableByBundle(bundle, enable).then(() => {
    console.info("setDistributedEnableByBundle success");
});
3140 3141
```

3142
## notificationManager.isDistributedEnabledByBundle
3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157

isDistributedEnabledByBundle(bundle: BundleOption, callback: AsyncCallback\<boolean>): void

根据应用的包获取应用程序是否支持分布式通知(Callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名   | 类型                     | 必填 | 说明                       |
| -------- | ------------------------ | ---- | -------------------------- |
Y
yuyaozhi 已提交
3158
| bundle   | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption)             | 是   | 应用的包。                     |
F
fangJinliang1 已提交
3159
| callback | AsyncCallback\<boolean\> | 是   | 查询指定应用是否支持分布式通知的回调函数。 |
3160 3161 3162

**错误码:**

F
fangJinliang1 已提交
3163 3164
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3165 3166
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
3167 3168 3169
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3170 3171 3172 3173 3174 3175 3176 3177 3178
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 1600010  | Distributed operation failed.            |
| 17700001 | The specified bundle name was not found. |

**示例:**

```javascript
3179
function isDistributedEnabledByBundleCallback(err, data) {
3180
    if (err) {
3181
        console.error(`isDistributedEnabledByBundle failed, code is ${err.code}, message is ${err.message}`);
3182
    } else {
F
fangJinliang1 已提交
3183
        console.info("isDistributedEnabledByBundle success" + JSON.stringify(data));
3184 3185 3186
    }
};

F
fangJinliang1 已提交
3187
let bundle = {
3188
    bundle: "bundleName1",
F
fangJinliang1 已提交
3189
};
3190

3191
notificationManager.isDistributedEnabledByBundle(bundle, isDistributedEnabledByBundleCallback);
3192 3193
```

3194
## notificationManager.isDistributedEnabledByBundle
3195 3196 3197

isDistributedEnabledByBundle(bundle: BundleOption): Promise\<boolean>

F
fangJinliang1 已提交
3198
查询指定应用是否支持分布式通知(Promise形式)。
3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名   | 类型                     | 必填 | 说明                       |
| -------- | ------------------------ | ---- | -------------------------- |
Y
yuyaozhi 已提交
3210
| bundle   | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption)             | 是   | 应用的包。                |
3211 3212 3213

**返回值:**

F
fangJinliang1 已提交
3214 3215 3216
| 类型               | 说明                                              |
| ------------------ | ------------------------------------------------- |
| Promise\<boolean\> | Promise方式返回指定应用是否支持分布式通知的结果。 |
3217 3218 3219

**错误码:**

F
fangJinliang1 已提交
3220 3221
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3222 3223
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
3224 3225 3226
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3227 3228 3229 3230 3231 3232 3233 3234 3235
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 1600010  | Distributed operation failed.            |
| 17700001 | The specified bundle name was not found. |

**示例:**

```javascript
F
fangJinliang1 已提交
3236
let bundle = {
3237
    bundle: "bundleName1",
F
fangJinliang1 已提交
3238
};
3239

3240
notificationManager.isDistributedEnabledByBundle(bundle).then((data) => {
F
fangJinliang1 已提交
3241 3242
    console.info("isDistributedEnabledByBundle success, data: " + JSON.stringify(data));
});
3243 3244 3245
```


3246
## notificationManager.getDeviceRemindType
3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261

getDeviceRemindType(callback: AsyncCallback\<DeviceRemindType\>): void

获取通知的提醒方式(Callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名   | 类型                               | 必填 | 说明                       |
| -------- | --------------------------------- | ---- | -------------------------- |
F
fangJinliang1 已提交
3262
| callback | AsyncCallback\<[DeviceRemindType](#deviceremindtype)\> | 是   | 获取通知提醒方式的回调函数。 |
3263 3264 3265

**错误码:**

F
fangJinliang1 已提交
3266 3267
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3268 3269
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
3270 3271 3272
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3273 3274 3275 3276 3277 3278 3279 3280 3281
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

```javascript
function getDeviceRemindTypeCallback(err, data) {
    if (err) {
3282
        console.error(`getDeviceRemindType failed, code is ${err.code}, message is ${err.message}`);
3283 3284 3285 3286 3287
    } else {
        console.info("getDeviceRemindType success");
    }
};

3288
notificationManager.getDeviceRemindType(getDeviceRemindTypeCallback);
3289 3290
```

3291
## notificationManager.getDeviceRemindType
3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306

getDeviceRemindType(): Promise\<DeviceRemindType\>

获取通知的提醒方式(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**返回值:**

| 类型               | 说明            |
| ------------------ | --------------- |
F
fangJinliang1 已提交
3307
| Promise\<[DeviceRemindType](#deviceremindtype)\> | Promise方式返回获取通知提醒方式的结果。 |
3308 3309 3310

**错误码:**

F
fangJinliang1 已提交
3311 3312
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3313 3314
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
3315 3316 3317
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3318 3319 3320 3321 3322 3323 3324
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

```javascript
3325
notificationManager.getDeviceRemindType().then((data) => {
F
fangJinliang1 已提交
3326 3327
    console.info("getDeviceRemindType success, data: " + JSON.stringify(data));
});
3328 3329 3330
```


3331
## notificationManager.publishAsBundle
3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344

publishAsBundle(request: NotificationRequest, representativeBundle: string, userId: number, callback: AsyncCallback\<void\>): void

发布代理通知(callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER,ohos.permission.NOTIFICATION_AGENT_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

F
fangJinliang1 已提交
3345 3346
| 参数名               | 类型                                        | 必填 | 说明                                     |
| -------------------- | ------------------------------------------- | ---- | ---------------------------------------- |
3347
| request              | [NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest) | 是   | 用于设置要发布通知的内容和相关配置信息。 |
F
fangJinliang1 已提交
3348 3349 3350
| representativeBundle | string                                      | 是   | 被代理应用的包名。                       |
| userId               | number                                      | 是   | 用户ID。                                 |
| callback             | AsyncCallback                               | 是   | 发布代理通知的回调方法。                 |
3351 3352 3353

**错误码:**

F
fangJinliang1 已提交
3354 3355
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3356 3357
| 错误码ID | 错误信息                                  |
| -------- | ----------------------------------------- |
3358 3359 3360
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3361 3362 3363 3364 3365 3366 3367
| 1600001  | Internal error.                           |
| 1600002  | Marshalling or unmarshalling error.       |
| 1600003  | Failed to connect service.                |
| 1600004  | Notification is not enabled.              |
| 1600005  | Notification slot is not enabled.         |
| 1600008  | The user is not exist.                    |
| 1600009  | Over max number notifications per second. |
3368
| 1600012  | No memory space.                          |
3369 3370 3371

**示例:**

3372
```ts
3373
//publishAsBundle回调
F
fangJinliang1 已提交
3374
function callback(err) {
3375
    if (err) {
3376
        console.error(`publishAsBundle failed, code is ${err.code}, message is ${err.message}`);
3377 3378 3379 3380 3381
    } else {
        console.info("publishAsBundle success");
    }
}
// 被代理应用的包名
F
fangJinliang1 已提交
3382
let representativeBundle = "com.example.demo";
F
fangJinliang1 已提交
3383
// 用户ID
F
fangJinliang1 已提交
3384
let userId = 100;
F
fangJinliang1 已提交
3385 3386
// NotificationRequest对象
let request = {
3387 3388
    id: 1,
    content: {
3389
        contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
3390 3391 3392 3393 3394 3395
        normal: {
            title: "test_title",
            text: "test_text",
            additionalText: "test_additionalText"
        }
    }
F
fangJinliang1 已提交
3396
};
3397

3398
notificationManager.publishAsBundle(request, representativeBundle, userId, callback);
3399 3400
```

3401
## notificationManager.publishAsBundle
3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417

publishAsBundle(request: NotificationRequest, representativeBundle: string, userId: number): Promise\<void\>

发布代理通知(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER,ohos.permission.NOTIFICATION_AGENT_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**


| 参数名               | 类型                                        | 必填 | 说明                                          |
| -------------------- | ------------------------------------------- | ---- | --------------------------------------------- |
3418
| request              | [NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest) | 是   | 用于设置要发布通知的内容和相关配置信息。 |
3419
| representativeBundle | string                                      | 是   | 被代理应用的包名。                            |
F
fangJinliang1 已提交
3420
| userId               | number                                      | 是   | 用户ID。                            |
3421 3422 3423

**错误码:**

F
fangJinliang1 已提交
3424 3425
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3426 3427
| 错误码ID | 错误信息                                  |
| -------- | ----------------------------------------- |
3428 3429 3430
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3431 3432 3433 3434 3435 3436 3437
| 1600001  | Internal error.                           |
| 1600002  | Marshalling or unmarshalling error.       |
| 1600003  | Failed to connect service.                |
| 1600004  | Notification is not enabled.              |
| 1600005  | Notification slot is not enabled.         |
| 1600008  | The user is not exist.                    |
| 1600009  | Over max number notifications per second. |
3438
| 1600012  | No memory space.                          |
3439 3440 3441

**示例:**

3442
```ts
3443
// 被代理应用的包名
F
fangJinliang1 已提交
3444
let representativeBundle = "com.example.demo";
F
fangJinliang1 已提交
3445
// 用户ID
F
fangJinliang1 已提交
3446
let userId = 100;
F
fangJinliang1 已提交
3447
// NotificationRequest对象
F
fangJinliang1 已提交
3448
let request = {
3449 3450
    id: 1,
    content: {
3451
        contentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
3452 3453 3454 3455 3456 3457
        normal: {
            title: "test_title",
            text: "test_text",
            additionalText: "test_additionalText"
        }
    }
F
fangJinliang1 已提交
3458
};
3459

3460
notificationManager.publishAsBundle(request, representativeBundle, userId).then(() => {
F
fangJinliang1 已提交
3461
	console.info("publishAsBundle success");
3462 3463 3464
});
```

3465
## notificationManager.cancelAsBundle
3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484

cancelAsBundle(id: number, representativeBundle: string, userId: number, callback: AsyncCallback\<void\>): void

取消代理通知(callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER,ohos.permission.NOTIFICATION_AGENT_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名               | 类型          | 必填 | 说明                     |
| -------------------- | ------------- | ---- | ------------------------ |
| id                   | number        | 是   | 通知ID。                 |
| representativeBundle | string        | 是   | 被代理应用的包名。       |
F
fangJinliang1 已提交
3485
| userId               | number        | 是   | 用户ID。       |
3486 3487 3488 3489
| callback             | AsyncCallback | 是   | 取消代理通知的回调方法。 |

**错误码:**

F
fangJinliang1 已提交
3490 3491
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3492 3493
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
3494 3495 3496
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3497 3498 3499 3500 3501 3502 3503 3504
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600007  | The notification is not exist.      |
| 1600008  | The user is not exist.              |

**示例:**

3505
```ts
F
fangJinliang1 已提交
3506
// cancelAsBundle
3507 3508
function cancelAsBundleCallback(err) {
    if (err) {
3509
        console.error(`cancelAsBundle failed, code is ${err.code}, message is ${err.message}`);
3510 3511 3512 3513 3514
    } else {
        console.info("cancelAsBundle success");
    }
}
// 被代理应用的包名
F
fangJinliang1 已提交
3515
let representativeBundle = "com.example.demo";
F
fangJinliang1 已提交
3516
// 用户ID
F
fangJinliang1 已提交
3517
let userId = 100;
3518

3519
notificationManager.cancelAsBundle(0, representativeBundle, userId, cancelAsBundleCallback);
3520 3521
```

3522
## notificationManager.cancelAsBundle
3523 3524 3525

cancelAsBundle(id: number, representativeBundle: string, userId: number): Promise\<void\>

F
fangJinliang1 已提交
3526
取消代理通知(Promise形式)。
3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541

**系统能力**:SystemCapability.Notification.Notification

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**: ohos.permission.NOTIFICATION_CONTROLLER,ohos.permission.NOTIFICATION_AGENT_CONTROLLER

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名               | 类型   | 必填 | 说明               |
| -------------------- | ------ | ---- | ------------------ |
| id                   | number | 是   | 通知ID。           |
| representativeBundle | string | 是   | 被代理应用的包名。 |
F
fangJinliang1 已提交
3542
| userId               | number | 是   | 用户ID。 |
3543 3544 3545

**错误码:**

F
fangJinliang1 已提交
3546 3547
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3548 3549
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
3550 3551 3552
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3553 3554 3555 3556 3557 3558 3559 3560
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600007  | The notification is not exist.      |
| 1600008  | The user is not exist.              |

**示例:**

3561
```ts
3562
// 被代理应用的包名
F
fangJinliang1 已提交
3563
let representativeBundle = "com.example.demo";
F
fangJinliang1 已提交
3564
// 用户ID
F
fangJinliang1 已提交
3565
let userId = 100;
3566

3567
notificationManager.cancelAsBundle(0, representativeBundle, userId).then(() => {
3568 3569 3570 3571
	console.info("cancelAsBundle success");
});
```

3572
## notificationManager.setNotificationEnableSlot 
3573 3574 3575

setNotificationEnableSlot(bundle: BundleOption, type: SlotType, enable: boolean, callback: AsyncCallback\<void>): void

F
fangJinliang1 已提交
3576
设置指定应用的指定渠道类型的使能状态(Callback形式)。
3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587

**系统能力**:SystemCapability.Notification.Notification

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**:ohos.permission.NOTIFICATION_CONTROLLER

**参数:**

| 参数名   | 类型                          | 必填 | 说明                   |
| -------- | ----------------------------- | ---- | ---------------------- |
Y
yuyaozhi 已提交
3588
| bundle   | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是   | 应用的包信息。           |
3589 3590
| type     | [SlotType](#slottype)         | 是   | 指定渠道类型。         |
| enable   | boolean                       | 是   | 使能状态。             |
F
fangJinliang1 已提交
3591
| callback | AsyncCallback\<void\>         | 是   | 设置渠道使能回调函数。 |
3592 3593 3594

**错误码:**

F
fangJinliang1 已提交
3595 3596
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3597 3598
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
3599 3600 3601
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3602 3603 3604 3605 3606 3607 3608
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

3609
```ts
F
fangJinliang1 已提交
3610
// setNotificationEnableSlot
3611 3612
function setNotificationEnableSlotCallback(err) {
    if (err) {
3613
        console.error(`setNotificationEnableSlot failed, code is ${err.code}, message is ${err.message}`);
3614 3615 3616 3617 3618
    } else {
        console.info("setNotificationEnableSlot success");
    }
};

3619
notificationManager.setNotificationEnableSlot(
3620
    { bundle: "ohos.samples.notification", },
3621
    notificationManager.SlotType.SOCIAL_COMMUNICATION,
3622 3623 3624 3625
    true,
    setNotificationEnableSlotCallback);
```

3626
## notificationManager.setNotificationEnableSlot
3627 3628 3629

setNotificationEnableSlot(bundle: BundleOption, type: SlotType, enable: boolean): Promise\<void> 

F
fangJinliang1 已提交
3630
设置指定应用的指定渠道类型的使能状态(Promise形式)。
3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641

**系统能力**:SystemCapability.Notification.Notification

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**:ohos.permission.NOTIFICATION_CONTROLLER

**参数:**

| 参数名 | 类型                          | 必填 | 说明           |
| ------ | ----------------------------- | ---- | -------------- |
Y
yuyaozhi 已提交
3642
| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是   | 应用的包信息。   |
F
fangJinliang1 已提交
3643
| type   | [SlotType](#slottype)         | 是   | 渠道类型。 |
3644 3645 3646 3647
| enable | boolean                       | 是   | 使能状态。     |

**错误码:**

F
fangJinliang1 已提交
3648 3649
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3650 3651
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
3652 3653 3654
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3655 3656 3657 3658 3659 3660 3661
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

3662
```ts
F
fangJinliang1 已提交
3663
// setNotificationEnableSlot
3664
notificationManager.setNotificationEnableSlot(
3665
    { bundle: "ohos.samples.notification", },
3666
    notificationManager.SlotType.SOCIAL_COMMUNICATION,
3667
    true).then(() => {
F
fangJinliang1 已提交
3668
        console.info("setNotificationEnableSlot success");
3669 3670 3671
    });
```

3672
## notificationManager.isNotificationSlotEnabled
3673 3674 3675

isNotificationSlotEnabled(bundle: BundleOption, type: SlotType, callback: AsyncCallback\<boolean\>): void

F
fangJinliang1 已提交
3676
获取指定应用的指定渠道类型的使能状态(Callback形式)。
3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687

**系统能力**:SystemCapability.Notification.Notification

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**:ohos.permission.NOTIFICATION_CONTROLLER

**参数:**

| 参数名   | 类型                          | 必填 | 说明                   |
| -------- | ----------------------------- | ---- | ---------------------- |
Y
yuyaozhi 已提交
3688
| bundle   | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是   | 应用的包信息。           |
F
fangJinliang1 已提交
3689 3690
| type     | [SlotType](#slottype)         | 是   | 渠道类型。         |
| callback | AsyncCallback\<boolean\>         | 是   | 获取渠道使能状态回调函数。 |
3691 3692 3693

**错误码:**

F
fangJinliang1 已提交
3694 3695
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3696 3697
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
3698 3699 3700
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3701 3702 3703 3704 3705 3706 3707
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

3708
```ts
F
fangJinliang1 已提交
3709
// isNotificationSlotEnabled
3710 3711
function getEnableSlotCallback(err, data) {
    if (err) {
3712
        console.error(`isNotificationSlotEnabled failed, code is ${err.code}, message is ${err.message}`);
3713 3714 3715 3716 3717
    } else {
        console.info("isNotificationSlotEnabled success");
    }
};

3718
notificationManager.isNotificationSlotEnabled(
3719
    { bundle: "ohos.samples.notification", },
3720
    notificationManager.SlotType.SOCIAL_COMMUNICATION,
3721 3722 3723
    getEnableSlotCallback);
```

3724
## notificationManager.isNotificationSlotEnabled
3725 3726 3727

isNotificationSlotEnabled(bundle: BundleOption, type: SlotType): Promise\<boolean\>  

F
fangJinliang1 已提交
3728
获取指定应用的指定渠道类型的使能状态(Promise形式)。
3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739

**系统能力**:SystemCapability.Notification.Notification

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**:ohos.permission.NOTIFICATION_CONTROLLER

**参数:**

| 参数名 | 类型                          | 必填 | 说明           |
| ------ | ----------------------------- | ---- | -------------- |
Y
yuyaozhi 已提交
3740
| bundle | [BundleOption](./js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是   | 应用的包信息。   |
F
fangJinliang1 已提交
3741
| type   | [SlotType](#slottype)         | 是   | 渠道类型。 |
3742 3743 3744 3745 3746 3747 3748 3749 3750

**返回值:**

| 类型                                                        | 说明                                                         |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<boolean\> | 以Promise形式返回指定类型的渠道使能状态。 |

**错误码:**

F
fangJinliang1 已提交
3751 3752
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3753 3754
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
3755 3756 3757
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3758 3759 3760 3761 3762 3763 3764
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

3765
```ts
F
fangJinliang1 已提交
3766
// isNotificationSlotEnabled
3767 3768
notificationManager.isNotificationSlotEnabled({ bundle: "ohos.samples.notification", },
    notificationManager.SlotType.SOCIAL_COMMUNICATION).then((data) => {
F
fangJinliang1 已提交
3769 3770
    console.info("isNotificationSlotEnabled success, data: " + JSON.stringify(data));
});
3771 3772 3773
```


3774
## notificationManager.setSyncNotificationEnabledWithoutApp
3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789

setSyncNotificationEnabledWithoutApp(userId: number, enable: boolean, callback: AsyncCallback\<void\>): void

设置是否将通知同步到未安装应用程序的设备(callback形式)。

**系统能力**:SystemCapability.Notification.Notification

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**:ohos.permission.NOTIFICATION_CONTROLLER

**参数:** 

| 参数名 | 类型                          | 必填 | 说明           |
| ------ | ----------------------------- | ---- | -------------- |
F
fangJinliang1 已提交
3790 3791
| userId | number | 是   | 用户ID。   |
| enable | boolean | 是   | 是否启用。   |
3792 3793 3794 3795
| callback | AsyncCallback\<void\>    | 是   | 设置是否将通知同步到未安装应用程序的设备的回调函数。 |

**错误码:**

F
fangJinliang1 已提交
3796 3797
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3798 3799
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
3800 3801 3802
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3803 3804 3805 3806 3807 3808 3809
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600008  | The user is not exist.              |

**示例:**

3810
```ts
3811 3812 3813
let userId = 100;
let enable = true;

F
fangJinliang1 已提交
3814
function callback(err) {
3815
    if (err) {
3816
        console.error(`setSyncNotificationEnabledWithoutApp failed, code is ${err.code}, message is ${err.message}`);
3817 3818 3819 3820 3821
    } else {
        console.info("setSyncNotificationEnabledWithoutApp success");
    }
}

3822
notificationManager.setSyncNotificationEnabledWithoutApp(userId, enable, callback);
3823 3824 3825
```


3826
## notificationManager.setSyncNotificationEnabledWithoutApp
3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841

setSyncNotificationEnabledWithoutApp(userId: number, enable: boolean): Promise\<void>

设置是否将通知同步到未安装应用程序的设备(Promise形式)。

**系统能力**:SystemCapability.Notification.Notification

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**:ohos.permission.NOTIFICATION_CONTROLLER

**参数:**

| 参数名 | 类型                          | 必填 | 说明           |
| ------ | ----------------------------- | ---- | -------------- |
F
fangJinliang1 已提交
3842 3843
| userId | number | 是   | 用户ID。   |
| enable | boolean | 是   | 是否启用。   |
3844 3845 3846 3847 3848 3849 3850 3851 3852

**返回值:**

| 类型                                                        | 说明                                                         |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<void\> | 以Promise形式返回设置是否将通知同步到未安装应用程序的设备的结果。 |

**错误码:**

F
fangJinliang1 已提交
3853 3854
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3855 3856
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
3857 3858 3859
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3860 3861 3862 3863 3864 3865 3866
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600008  | The user is not exist.              |

**示例:**

3867
```ts
3868 3869 3870
let userId = 100;
let enable = true;

3871
notificationManager.setSyncNotificationEnabledWithoutApp(userId, enable).then(() => {
F
fangJinliang1 已提交
3872 3873
    console.info('setSyncNotificationEnabledWithoutApp success');
}).catch((err) => {
3874
    console.error(`setSyncNotificationEnabledWithoutApp failed, code is ${err.code}, message is ${err.message}`);
F
fangJinliang1 已提交
3875
});
3876 3877 3878
```


3879
## notificationManager.getSyncNotificationEnabledWithoutApp
3880 3881 3882

getSyncNotificationEnabledWithoutApp(userId: number, callback: AsyncCallback\<boolean>): void

F
fangJinliang1 已提交
3883
获取同步通知到未安装应用程序设备的开关是否开启(callback形式)。
3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894

**系统能力**:SystemCapability.Notification.Notification

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**:ohos.permission.NOTIFICATION_CONTROLLER

**参数:**

| 参数名 | 类型                          | 必填 | 说明           |
| ------ | ----------------------------- | ---- | -------------- |
F
fangJinliang1 已提交
3895 3896
| userId | number | 是   | 用户ID。   |
| callback | AsyncCallback\<boolean\>         | 是   | 获取同步通知到未安装应用程序设备的开关是否开启的回调函数。 |
3897 3898 3899

**错误码:**

F
fangJinliang1 已提交
3900 3901
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3902 3903
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
3904 3905 3906
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3907 3908 3909 3910 3911 3912 3913
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600008  | The user is not exist.              |

**示例:**

3914
```ts
3915 3916
let userId = 100;

Z
zhongjianfei 已提交
3917
function getSyncNotificationEnabledWithoutAppCallback(err, data) {
3918
    if (err) {
F
fangJinliang1 已提交
3919
        console.info('getSyncNotificationEnabledWithoutAppCallback, err:' + err);
3920
    } else {
F
fangJinliang1 已提交
3921
        console.info('getSyncNotificationEnabledWithoutAppCallback, data:' + data);
3922 3923 3924
    }
}

3925
notificationManager.getSyncNotificationEnabledWithoutApp(userId, getSyncNotificationEnabledWithoutAppCallback);
3926 3927 3928
```


3929
## notificationManager.getSyncNotificationEnabledWithoutApp
3930 3931 3932

getSyncNotificationEnabledWithoutApp(userId: number): Promise\<boolean>

F
fangJinliang1 已提交
3933
获取同步通知到未安装应用程序设备的开关是否开启(Promise形式)。
3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944

**系统能力**:SystemCapability.Notification.Notification

**系统API**:此接口为系统接口,三方应用不支持调用。

**需要权限**:ohos.permission.NOTIFICATION_CONTROLLER

**参数:**

| 参数名 | 类型                          | 必填 | 说明           |
| ------ | ----------------------------- | ---- | -------------- |
F
fangJinliang1 已提交
3945
| userId | number | 是   | 用户ID。   |
3946 3947 3948

**返回值:**

F
fangJinliang1 已提交
3949 3950 3951
| 类型               | 说明                                                         |
| ------------------ | ------------------------------------------------------------ |
| Promise\<boolean\> | 以Promise形式返回获取同步通知到未安装应用程序设备的开关是否开启的结果。 |
3952 3953 3954

**错误码:**

F
fangJinliang1 已提交
3955 3956
错误码详细介绍请参考[errcode-notification](../errorcodes/errorcode-notification.md)

3957 3958
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
3959 3960 3961
| 201      | Permission denied.                        |
| 202      | Not system application to call the interface. |
| 401      | The parameter check failed.               |
3962 3963 3964 3965 3966 3967 3968
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600008  | The user is not exist.              |

**示例:**

3969
```ts
3970
let userId = 100;
3971
notificationManager.getSyncNotificationEnabledWithoutApp(userId).then((data) => {
F
fangJinliang1 已提交
3972 3973 3974 3975
    console.info('getSyncNotificationEnabledWithoutApp, data:' + data);
}).catch((err) => {
    console.info('getSyncNotificationEnabledWithoutApp, err:' + err);
});
3976 3977 3978 3979 3980 3981 3982 3983 3984
```


## DoNotDisturbDate

**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification

**系统API**:此接口为系统接口,三方应用不支持调用。

F
fangJinliang1 已提交
3985 3986 3987 3988 3989
| 名称  | 类型                                  | 可读 | 可写 | 说明                   |
| ----- | ------------------------------------- | ---- | ---- | ---------------------- |
| type  | [DoNotDisturbType](#donotdisturbtype) | 是   | 是   | 免打扰设置的时间类型。 |
| begin | Date                                  | 是   | 是   | 免打扰设置的起点时间。 |
| end   | Date                                  | 是   | 是   | 免打扰设置的终点时间。 |
3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050

## DoNotDisturbType

**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification

**系统API**: 此接口为系统接口,三方应用不支持调用。

| 名称         | 值               | 说明                                       |
| ------------ | ---------------- | ------------------------------------------ |
| TYPE_NONE    | 0 | 非通知勿扰类型。                           |
| TYPE_ONCE    | 1 | 以设置时间段(只看小时和分钟)一次执行勿扰。 |
| TYPE_DAILY   | 2 | 以设置时间段(只看小时和分钟)每天执行勿扰。 |
| TYPE_CLEARLY | 3 | 以设置时间段(明确年月日时分)执行勿扰。     |


## ContentType

**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification

| 名称                              | 值          | 说明               |
| --------------------------------- | ----------- | ------------------ |
| NOTIFICATION_CONTENT_BASIC_TEXT   | NOTIFICATION_CONTENT_BASIC_TEXT | 普通类型通知。     |
| NOTIFICATION_CONTENT_LONG_TEXT    | NOTIFICATION_CONTENT_LONG_TEXT | 长文本类型通知。   |
| NOTIFICATION_CONTENT_PICTURE      | NOTIFICATION_CONTENT_PICTURE | 图片类型通知。     |
| NOTIFICATION_CONTENT_CONVERSATION | NOTIFICATION_CONTENT_CONVERSATION | 社交类型通知。     |
| NOTIFICATION_CONTENT_MULTILINE    | NOTIFICATION_CONTENT_MULTILINE | 多行文本类型通知。 |

## SlotLevel

**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification

| 名称                              | 值          | 说明               |
| --------------------------------- | ----------- | ------------------ |
| LEVEL_NONE                        | 0           | 表示关闭通知功能。     |
| LEVEL_MIN                         | 1           | 表示通知功能已启用,但状态栏中不显示通知图标,且没有横幅或提示音。 |
| LEVEL_LOW                         | 2           | 表示通知功能已启用,且状态栏中显示通知图标,但没有横幅或提示音。 |
| LEVEL_DEFAULT                     | 3           | 表示通知功能已启用,状态栏中显示通知图标,没有横幅但有提示音。 |
| LEVEL_HIGH                        | 4           | 表示通知功能已启用,状态栏中显示通知图标,有横幅和提示音。 |


## SlotType

**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification

| 名称                 | 值       | 说明       |
| -------------------- | -------- | ---------- |
| UNKNOWN_TYPE         | 0 | 未知类型。 |
| SOCIAL_COMMUNICATION | 1 | 社交类型。 |
| SERVICE_INFORMATION  | 2 | 服务类型。 |
| CONTENT_INFORMATION  | 3 | 内容类型。 |
| OTHER_TYPES          | 0xFFFF | 其他类型。 |




## DeviceRemindType

**系统能力**:SystemCapability.Notification.Notification

**系统API**: 此接口为系统接口,三方应用不支持调用。

F
fangJinliang1 已提交
4051
| 名称                 | 值  | 说明                               |
4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064
| -------------------- | --- | --------------------------------- |
| IDLE_DONOT_REMIND    | 0   | 设备未被使用,无需提醒。            |
| IDLE_REMIND          | 1   | 提醒设备未被使用。                 |
| ACTIVE_DONOT_REMIND  | 2   | 设备正在使用,无需提醒。            |
| ACTIVE_REMIND        | 3   | 提醒设备正在使用。                 |


## SourceType

**系统能力**:SystemCapability.Notification.Notification

**系统API**: 此接口为系统接口,三方应用不支持调用。

F
fangJinliang1 已提交
4065
| 名称                 | 值  | 说明                  |
4066 4067 4068 4069
| -------------------- | --- | -------------------- |
| TYPE_NORMAL          | 0   | 一般通知。            |
| TYPE_CONTINUOUS      | 1   | 连续通知。            |
| TYPE_TIMER           | 2   | 计划通知。            |