js-apis-notificationSubscribe.md 22.3 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 29 30
```



## NotificationSubscribe.subscribe

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

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

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

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

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

**参数:**

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

**错误码:**

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

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

**示例:**

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

## NotificationSubscribe.subscribe

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

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

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

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

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

**参数:**

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

**错误码:**

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

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

**示例:**

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



## NotificationSubscribe.subscribe

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

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

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

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

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

**参数:**

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

**错误码:**

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

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

**示例:**

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



## NotificationSubscribe.unsubscribe

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

取消订阅(callbcak形式)。

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

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

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

**参数:**

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

**错误码:**

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

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

**示例:**

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

## NotificationSubscribe.unsubscribe

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

取消订阅(Promise形式)。

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

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

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

**参数:**

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

**错误码:**

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

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

**示例:**

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

## NotificationSubscribe.remove

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

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

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

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

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

**参数:**

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

**错误码:**

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

283 284 285 286 287 288 289 290 291 292 293 294 295
| 错误码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) {
296
        console.error(`remove failed, code is ${err.code}, message is ${err.message}`);
297 298 299 300
    } else {
        console.info("remove success");
    }
}
F
fangJinliang1 已提交
301
let bundle = {
302
    bundle: "bundleName1",
F
fangJinliang1 已提交
303 304
};
let notificationKey = {
305 306
    id: 0,
    label: "label",
F
fangJinliang1 已提交
307
};
308 309
let reason = notificationSubscribe.RemoveReason.CLICK_REASON_REMOVE;
notificationSubscribe.remove(bundle, notificationKey, reason, removeCallback);
310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327
```



## NotificationSubscribe.remove

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

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

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

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

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

**参数:**

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

**错误码:**

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

338 339 340 341 342 343 344 345 346 347 348
| 错误码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 已提交
349
let bundle = {
350
    bundle: "bundleName1",
F
fangJinliang1 已提交
351 352
};
let notificationKey = {
353 354
    id: 0,
    label: "label",
F
fangJinliang1 已提交
355
};
356
let reason = notificationSubscribe.RemoveReason.CLICK_REASON_REMOVE;
357
notificationSubscribe.remove(bundle, notificationKey, reason).then(() => {
F
fangJinliang1 已提交
358
	console.info("remove success");
359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375
});
```

## NotificationSubscribe.remove

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

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

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

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

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

**参数:**

F
fangJinliang1 已提交
376
| 参数名     | 类型                  | 必填 | 说明                 |
377
| -------- | --------------------- | ---- | -------------------- |
378
| 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。 |
379 380 381 382 383
| reason   | [RemoveReason](#removereason) | 是   | 通知删除原因。         |
| callback | AsyncCallback\<void\> | 是   | 删除指定通知回调函数。 |

**错误码:**

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

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

**示例:**

```js
F
fangJinliang1 已提交
396
let hashCode = 'hashCode';
397 398 399

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

## NotificationSubscribe.remove

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

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

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

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

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

**参数:**

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

**错误码:**

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

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

**示例:**

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

## NotificationSubscribe.removeAll

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

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

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

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

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

**参数:**

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

**错误码:**

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

472 473 474 475 476 477 478 479 480 481 482 483
| 错误码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) {
484
        console.error(`removeAll failed, code is ${err.code}, message is ${err.message}`);
485 486 487 488
    } else {
        console.info("removeAll success");
    }
}
F
fangJinliang1 已提交
489
let bundle = {
490
    bundle: "bundleName1",
F
fangJinliang1 已提交
491
};
492
notificationSubscribe.removeAll(bundle, removeAllCallback);
493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508
```

## NotificationSubscribe.removeAll

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

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

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

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

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

**参数:**

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

**错误码:**

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

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

**示例:**

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

534
notificationSubscribe.removeAll(removeAllCallback);
535 536 537 538 539 540
```

## NotificationSubscribe.removeAll

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

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

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

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

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

**参数:**

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

**错误码:**

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

559 560 561 562 563 564 565 566 567 568
| 错误码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 已提交
569
// 不指定应用时,删除所有通知
570
notificationSubscribe.removeAll().then(() => {
F
fangJinliang1 已提交
571
	console.info("removeAll success");
572 573 574 575 576 577 578
});
```

## NotificationSubscribe.removeAll

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

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

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

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

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

**参数:**

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

**错误码:**

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

598 599 600 601 602 603 604 605 606 607 608 609
| 错误码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) {
610
        console.error(`removeAll failed, code is ${err.code}, message is ${err.message}`);
611 612 613 614 615
    } else {
        console.info("removeAll success");
    }
}

F
fangJinliang1 已提交
616
let userId = 1;
617

618
notificationSubscribe.removeAll(userId, removeAllCallback);
619 620 621 622 623 624
```

## Notification.removeAll

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

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

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

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

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

**参数:**

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

**错误码:**

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

643 644 645 646 647 648 649 650 651 652 653 654
| 错误码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) {
655
        console.error(`removeAll failed, code is ${err.code}, message is ${err.message}`);
656 657 658 659 660
    } else {
        console.info("removeAll success");
    }
}

F
fangJinliang1 已提交
661
let userId = 1;
662

663
notificationSubscribe.removeAll(userId, removeAllCallback);
664 665 666 667 668 669 670 671
```

## RemoveReason

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

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

F
fangJinliang1 已提交
672
| 名称                 | 值  | 说明                  |
673 674
| -------------------- | --- | -------------------- |
| CLICK_REASON_REMOVE  | 1   | 点击通知后删除通知。    |
F
fangJinliang1 已提交
675
| CANCEL_REASON_REMOVE | 2   | 用户删除通知。         |