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

本模块提供通知订阅、取消订阅、通知移除等,一般情况下,只有系统应用具有这些操作权限。

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

## 导入模块

```js
12
import notificationSubscribe from '@ohos.notificationSubscribe';
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
```

## NotificationSubscribe.subscribe

subscribe(subscriber: NotificationSubscriber, info: NotificationSubscribeInfo, callback: AsyncCallback\<void\>): void

订阅通知并指定订阅信息(callback形式)。

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

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

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

**参数:**

F
fangJinliang1 已提交
29
| 参数名       | 类型                      | 必填 | 说明             |
30
| ---------- | ------------------------- | ---- | ---------------- |
Y
yuyaozhi 已提交
31 32
| subscriber | [NotificationSubscriber](js-apis-notification.md#notificationsubscriber)    | 是   | 通知订阅对象。     |
| info       | [NotificationSubscribeInfo](js-apis-notification.md#notificationsubscribeinfo) | 是   | 通知订阅信息。 |
33 34 35 36
| callback   | AsyncCallback\<void\>     | 是   | 订阅动作回调函数。 |

**错误码:**

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

39 40 41 42 43
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
44
| 1600012  | No memory space.                    |
45 46 47 48 49 50 51

**示例:**

```js
//subscribe回调
function subscribeCallback(err) {
    if (err) {
52
        console.error(`subscribe failed, code is ${err.code}, message is ${err.message}`);
53 54 55 56 57 58 59
    } else {
        console.info("subscribe success");
    }
}
function onConsumeCallback(data) {
	console.info("Consume callback: " + JSON.stringify(data));
}
F
fangJinliang1 已提交
60
let subscriber = {
61
    onConsume: onConsumeCallback
F
fangJinliang1 已提交
62 63
};
let info = {
64
    bundleNames: ["bundleName1","bundleName2"]
F
fangJinliang1 已提交
65
};
66
notificationSubscribe.subscribe(subscriber, info, subscribeCallback);
67 68 69 70 71 72
```

## NotificationSubscribe.subscribe

subscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\<void\>): void

F
fangJinliang1 已提交
73
订阅当前用户下所有应用的通知(callback形式)。
74 75 76 77 78 79 80 81 82

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

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

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

**参数:**

F
fangJinliang1 已提交
83
| 参数名       | 类型                   | 必填 | 说明             |
84
| ---------- | ---------------------- | ---- | ---------------- |
Y
yuyaozhi 已提交
85
| subscriber | [NotificationSubscriber](js-apis-notification.md#notificationsubscriber) | 是   | 通知订阅对象。     |
86 87 88 89
| callback   | AsyncCallback\<void\>  | 是   | 订阅动作回调函数。 |

**错误码:**

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

92 93 94 95 96
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
97
| 1600012  | No memory space.                    |
98 99 100 101 102 103

**示例:**

```js
function subscribeCallback(err) {
    if (err) {
104
        console.error(`subscribe failed, code is ${err.code}, message is ${err.message}`);
105 106 107 108 109 110 111
    } else {
        console.info("subscribe success");
    }
}
function onConsumeCallback(data) {
	console.info("Consume callback: " + JSON.stringify(data));
}
F
fangJinliang1 已提交
112
let subscriber = {
113
    onConsume: onConsumeCallback
F
fangJinliang1 已提交
114
};
115
notificationSubscribe.subscribe(subscriber, subscribeCallback);
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
```



## NotificationSubscribe.subscribe

subscribe(subscriber: NotificationSubscriber, info?: NotificationSubscribeInfo): Promise\<void\>

订阅通知并指定订阅信息(Promise形式)。

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

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

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

**参数:**

F
fangJinliang1 已提交
134
| 参数名       | 类型                      | 必填 | 说明         |
135
| ---------- | ------------------------- | ---- | ------------ |
Y
yuyaozhi 已提交
136 137
| subscriber | [NotificationSubscriber](js-apis-notification.md#notificationsubscriber)    | 是   | 通知订阅对象。 |
| info       | [NotificationSubscribeInfo](js-apis-notification.md#notificationsubscribeinfo) | 否   | 通知订阅信息。   |
138 139 140

**错误码:**

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

143 144 145 146 147
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
148
| 1600012  | No memory space.                    |
149 150 151 152 153

**示例:**

```js
function onConsumeCallback(data) {
F
fangJinliang1 已提交
154
    console.info("Consume callback: " + JSON.stringify(data));
155
}
F
fangJinliang1 已提交
156
let subscriber = {
157 158
    onConsume: onConsumeCallback
};
159
notificationSubscribe.subscribe(subscriber).then(() => {
F
fangJinliang1 已提交
160
	console.info("subscribe success");
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
});
```



## NotificationSubscribe.unsubscribe

unsubscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\<void\>): void

取消订阅(callbcak形式)。

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

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

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

**参数:**

F
fangJinliang1 已提交
180
| 参数名       | 类型                   | 必填 | 说明                 |
181
| ---------- | ---------------------- | ---- | -------------------- |
Y
yuyaozhi 已提交
182
| subscriber | [NotificationSubscriber](js-apis-notification.md#notificationsubscriber) | 是   | 通知订阅对象。         |
183 184 185 186
| callback   | AsyncCallback\<void\>  | 是   | 取消订阅动作回调函数。 |

**错误码:**

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

189 190 191 192 193 194 195 196 197 198 199
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

```js
function unsubscribeCallback(err) {
    if (err) {
200
        console.error(`unsubscribe failed, code is ${err.code}, message is ${err.message}`);
201 202 203 204
    } else {
        console.info("unsubscribe success");
    }
}
Y
yuyaozhi 已提交
205 206
function onDisconnectCallback() {
	console.info("subscribe disconnect");
207
}
F
fangJinliang1 已提交
208
let subscriber = {
F
fangJinliang1 已提交
209
    onDisconnect: onDisconnectCallback
F
fangJinliang1 已提交
210
};
211
notificationSubscribe.unsubscribe(subscriber, unsubscribeCallback);
212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227
```

## NotificationSubscribe.unsubscribe

unsubscribe(subscriber: NotificationSubscriber): Promise\<void\>

取消订阅(Promise形式)。

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

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

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

**参数:**

F
fangJinliang1 已提交
228
| 参数名       | 类型                   | 必填 | 说明         |
229
| ---------- | ---------------------- | ---- | ------------ |
Y
yuyaozhi 已提交
230
| subscriber | [NotificationSubscriber](js-apis-notification.md#notificationsubscriber) | 是   | 通知订阅对象。 |
231 232 233

**错误码:**

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

236 237 238 239 240 241 242 243 244
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

```js
Y
yuyaozhi 已提交
245 246
function onDisconnectCallback() {
	console.info("subscribe disconnect");
247
}
F
fangJinliang1 已提交
248
let subscriber = {
F
fangJinliang1 已提交
249
    onDisconnect: onDisconnectCallback
250
};
251
notificationSubscribe.unsubscribe(subscriber).then(() => {
F
fangJinliang1 已提交
252
	console.info("unsubscribe success");
253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269
});
```

## NotificationSubscribe.remove

remove(bundle: BundleOption, notificationKey: NotificationKey, reason: RemoveReason, callback: AsyncCallback\<void\>): void

删除指定通知(Callback形式)。

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

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

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

**参数:**

F
fangJinliang1 已提交
270
| 参数名            | 类型                                | 必填 | 说明                 |
271
| --------------- |   ----------------------------------| ---- | -------------------- |
Y
yuyaozhi 已提交
272
| bundle          | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption)       | 是   | 指定应用的包信息。           |
273
| notificationKey | [NotificationKey](#notificationkey) | 是   | 通知键值。             |
274 275 276 277 278
| reason          | [RemoveReason](#removereason)      | 是   | 通知删除原因。         |
| callback        | AsyncCallback\<void\>               | 是   | 删除指定通知回调函数。 |

**错误码:**

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

281 282 283 284 285 286 287 288 289 290 291 292 293
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 1600007  | The notification is not exist.           |
| 17700001 | The specified bundle name was not found. |

**示例:**

```js
function removeCallback(err) {
    if (err) {
294
        console.error(`remove failed, code is ${err.code}, message is ${err.message}`);
295 296 297 298
    } else {
        console.info("remove success");
    }
}
F
fangJinliang1 已提交
299
let bundle = {
300
    bundle: "bundleName1",
F
fangJinliang1 已提交
301 302
};
let notificationKey = {
303 304
    id: 0,
    label: "label",
F
fangJinliang1 已提交
305
};
306 307
let reason = notificationSubscribe.RemoveReason.CLICK_REASON_REMOVE;
notificationSubscribe.remove(bundle, notificationKey, reason, removeCallback);
308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325
```



## NotificationSubscribe.remove

remove(bundle: BundleOption, notificationKey: NotificationKey, reason: RemoveReason): Promise\<void\>

删除指定通知(Promise形式)。

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

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

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

**参数:**

F
fangJinliang1 已提交
326
| 参数名            | 类型            | 必填 | 说明       |
327
| --------------- | --------------- | ---- | ---------- |
Y
yuyaozhi 已提交
328
| bundle          | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption)    | 是   | 指定应用的包信息。 |
329
| notificationKey | [NotificationKey](#notificationkey) | 是   | 通知键值。   |
330 331 332 333
| reason          | [RemoveReason](#removereason) | 是   | 通知删除原因。         |

**错误码:**

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

336 337 338 339 340 341 342 343 344 345 346
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 1600007  | The notification is not exist.           |
| 17700001 | The specified bundle name was not found. |

**示例:**

```js
F
fangJinliang1 已提交
347
let bundle = {
348
    bundle: "bundleName1",
F
fangJinliang1 已提交
349 350
};
let notificationKey = {
351 352
    id: 0,
    label: "label",
F
fangJinliang1 已提交
353
};
354
let reason = notificationSubscribe.RemoveReason.CLICK_REASON_REMOVE;
355
notificationSubscribe.remove(bundle, notificationKey, reason).then(() => {
F
fangJinliang1 已提交
356
	console.info("remove success");
357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373
});
```

## NotificationSubscribe.remove

remove(hashCode: string, reason: RemoveReason, callback: AsyncCallback\<void\>): void

删除指定通知(Callback形式)。

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

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

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

**参数:**

F
fangJinliang1 已提交
374
| 参数名     | 类型                  | 必填 | 说明                 |
375
| -------- | --------------------- | ---- | -------------------- |
376
| hashCode | string                | 是   | 通知唯一ID。可以通过[onConsume](js-apis-inner-notification-notificationSubscriber.md#onConsume)回调的入参[SubscribeCallbackData](js-apis-notification.md#subscribecallbackdata)获取其内部[NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest)对象中的hashCode。 |
377 378 379 380 381
| reason   | [RemoveReason](#removereason) | 是   | 通知删除原因。         |
| callback | AsyncCallback\<void\> | 是   | 删除指定通知回调函数。 |

**错误码:**

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

384 385 386 387 388 389 390 391 392 393
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600007  | The notification is not exist.      |

**示例:**

```js
F
fangJinliang1 已提交
394
let hashCode = 'hashCode';
395 396 397

function removeCallback(err) {
    if (err) {
398
        console.error(`remove failed, code is ${err.code}, message is ${err.message}`);
399 400 401 402
    } else {
        console.info("remove success");
    }
}
403
let reason = notificationSubscribe.RemoveReason.CANCEL_REASON_REMOVE;
404
notificationSubscribe.remove(hashCode, reason, removeCallback);
405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420
```

## NotificationSubscribe.remove

remove(hashCode: string, reason: RemoveReason): Promise\<void\>

删除指定通知(Promise形式)。

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

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

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

**参数:**

F
fangJinliang1 已提交
421
| 参数名     | 类型       | 必填 | 说明       |
422 423 424 425 426 427
| -------- | ---------- | ---- | ---------- |
| hashCode | string | 是   | 通知唯一ID。 |
| reason   | [RemoveReason](#removereason) | 是   | 通知删除原因。         |

**错误码:**

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

430 431 432 433 434 435 436 437 438 439
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600007  | The notification is not exist.      |

**示例:**

```js
F
fangJinliang1 已提交
440
let hashCode = 'hashCode';
441 442
let reason = notificationSubscribe.RemoveReason.CLICK_REASON_REMOVE;
notificationSubscribe.remove(hashCode, reason).then(() => {
F
fangJinliang1 已提交
443
	console.info("remove success");
444 445 446 447 448 449 450
});
```

## NotificationSubscribe.removeAll

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

F
fangJinliang1 已提交
451
删除指定应用的所有通知(Callback形式)。
452 453 454 455 456 457 458 459 460

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

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

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

**参数:**

F
fangJinliang1 已提交
461
| 参数名     | 类型                  | 必填 | 说明                         |
462
| -------- | --------------------- | ---- | ---------------------------- |
Z
zengyawen 已提交
463
| bundle   | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption)        | 是   | 指定应用的包信息。                   |
F
fangJinliang1 已提交
464
| callback | AsyncCallback\<void\> | 是   | 删除指定应用的所有通知回调函数。 |
465 466 467

**错误码:**

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

470 471 472 473 474 475 476 477 478 479 480 481
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

```js
function removeAllCallback(err) {
    if (err) {
482
        console.error(`removeAll failed, code is ${err.code}, message is ${err.message}`);
483 484 485 486
    } else {
        console.info("removeAll success");
    }
}
F
fangJinliang1 已提交
487
let bundle = {
488
    bundle: "bundleName1",
F
fangJinliang1 已提交
489
};
490
notificationSubscribe.removeAll(bundle, removeAllCallback);
491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506
```

## NotificationSubscribe.removeAll

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

删除所有通知(Callback形式)。

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

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

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

**参数:**

F
fangJinliang1 已提交
507
| 参数名     | 类型                  | 必填 | 说明                 |
508 509 510 511 512
| -------- | --------------------- | ---- | -------------------- |
| callback | AsyncCallback\<void\> | 是   | 删除所有通知回调函数。 |

**错误码:**

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

515 516 517 518 519 520 521 522 523 524 525
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |

**示例:**

```js
function removeAllCallback(err) {
    if (err) {
526
        console.error(`removeAll failed, code is ${err.code}, message is ${err.message}`);
527 528 529 530 531
    } else {
        console.info("removeAll success");
    }
}

532
notificationSubscribe.removeAll(removeAllCallback);
533 534 535 536 537 538
```

## NotificationSubscribe.removeAll

removeAll(bundle?: BundleOption): Promise\<void\>

F
fangJinliang1 已提交
539
删除指定应用的所有通知(Promise形式)。
540 541 542 543 544 545 546 547 548

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

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

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

**参数:**

F
fangJinliang1 已提交
549
| 参数名   | 类型         | 必填 | 说明       |
550
| ------ | ------------ | ---- | ---------- |
Z
zengyawen 已提交
551
| bundle | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 否   | 指定应用的包信息。 |
552 553 554

**错误码:**

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

557 558 559 560 561 562 563 564 565 566
| 错误码ID | 错误信息                                 |
| -------- | ---------------------------------------- |
| 1600001  | Internal error.                          |
| 1600002  | Marshalling or unmarshalling error.      |
| 1600003  | Failed to connect service.               |
| 17700001 | The specified bundle name was not found. |

**示例:**

```js
F
fangJinliang1 已提交
567
// 不指定应用时,删除所有通知
568
notificationSubscribe.removeAll().then(() => {
F
fangJinliang1 已提交
569
	console.info("removeAll success");
570 571 572 573 574 575 576
});
```

## NotificationSubscribe.removeAll

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

F
fangJinliang1 已提交
577
删除指定用户下的所有通知(callback形式)。
578 579 580 581 582 583 584 585 586

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

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

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

**参数:**

F
fangJinliang1 已提交
587
| 参数名   | 类型         | 必填 | 说明       |
588
| ------ | ------------ | ---- | ---------- |
F
fangJinliang1 已提交
589 590
| userId | number | 是   | 用户ID。 |
| callback | AsyncCallback\<void\> | 是   | 删除指定用户所有通知回调函数。 |
591 592 593

**错误码:**

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

596 597 598 599 600 601 602 603 604 605 606 607
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600008  | The user is not exist.              |

**示例:**

```js
function removeAllCallback(err) {
    if (err) {
608
        console.error(`removeAll failed, code is ${err.code}, message is ${err.message}`);
609 610 611 612 613
    } else {
        console.info("removeAll success");
    }
}

F
fangJinliang1 已提交
614
let userId = 1;
615

616
notificationSubscribe.removeAll(userId, removeAllCallback);
617 618
```

619
## NotificationSubscribe.removeAll
620 621 622

removeAll(userId: number): Promise\<void>

F
fangJinliang1 已提交
623
删除指定用户下的所有通知(Promise形式)。
624 625 626 627 628 629 630 631 632

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

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

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

**参数:**

F
fangJinliang1 已提交
633
| 参数名   | 类型         | 必填 | 说明       |
634
| ------ | ------------ | ---- | ---------- |
F
fangJinliang1 已提交
635
| userId | number | 是   | 用户ID。 |
636 637 638

**错误码:**

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

641 642 643 644 645 646 647 648 649 650 651 652
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1600001  | Internal error.                     |
| 1600002  | Marshalling or unmarshalling error. |
| 1600003  | Failed to connect service.          |
| 1600008  | The user is not exist.              |

**示例:**

```js
function removeAllCallback(err) {
    if (err) {
653
        console.error(`removeAll failed, code is ${err.code}, message is ${err.message}`);
654 655 656 657 658
    } else {
        console.info("removeAll success");
    }
}

F
fangJinliang1 已提交
659
let userId = 1;
660

661
notificationSubscribe.removeAll(userId, removeAllCallback);
662 663
```

664 665 666 667
## NotificationKey

**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification

F
fangJinliang1 已提交
668 669 670 671 672 673
**系统API**: 此接口为系统接口,三方应用不支持调用。

| 名称  | 类型   | 可读 |  | 必填 | 说明     |
| ----- | ------ | ---- | --- | -------- | -------- |
| id    | number | 是 | 是 | 是  | 通知ID。   |
| label | string | 是 | 是 | 否  | 通知标签。 |
674

675 676 677 678 679 680
## RemoveReason

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

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

F
fangJinliang1 已提交
681
| 名称                 | 值  | 说明                  |
682 683
| -------------------- | --- | -------------------- |
| CLICK_REASON_REMOVE  | 1   | 点击通知后删除通知。    |
F
fangJinliang1 已提交
684
| CANCEL_REASON_REMOVE | 2   | 用户删除通知。         |