# @ohos.notificationSubscribe (NotificationSubscribe模å—)(系统接å£) æœ¬æ¨¡å—æä¾›é€šçŸ¥è®¢é˜…ã€å–消订阅ã€é€šçŸ¥ç§»é™¤ç‰ï¼Œä¸€èˆ¬æƒ…å†µä¸‹ï¼Œåªæœ‰ç³»ç»Ÿåº”用具有这些æ“作æƒé™ã€‚ > **说明:** > > 本模å—首批接å£ä»ŽAPI version 9开始支æŒã€‚åŽç»ç‰ˆæœ¬çš„æ–°å¢žæŽ¥å£ï¼Œé‡‡ç”¨ä¸Šè§’æ ‡å•ç‹¬æ ‡è®°æŽ¥å£çš„起始版本。 > > æœ¬æ¨¡å—æŽ¥å£å‡ä¸ºç³»ç»ŸæŽ¥å£ã€‚ ## å¯¼å…¥æ¨¡å— ```ts import { notificationSubscribe } from '@kit.NotificationKit'; ``` ## notificationSubscribe.subscribe subscribe(subscriber: NotificationSubscriber, info: NotificationSubscribeInfo, callback: AsyncCallback\<void\>): void 订阅通知并指定订阅信æ¯ã€‚使用callback异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | ---------- | ------------------------- | ---- | ---------------- | | subscriber | [NotificationSubscriber](js-apis-inner-notification-notificationSubscriber-sys.md#notificationsubscriber) | 是 | 通知订阅对象。 | | info | [NotificationSubscribeInfo](js-apis-inner-notification-notificationSubscribeInfo-sys.md#notificationsubscribeinfo) | 是 | 通知订阅信æ¯ã€‚ | | callback | AsyncCallback\<void\> | 是 | 订阅动作回调函数。 | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | | 1600012 | No memory space. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; //subscribe回调 let subscribeCallback = (err: BusinessError) => { if (err) { console.error(`subscribe failed, code is ${err.code}, message is ${err.message}`); } else { console.info("subscribe success"); } } let onConsumeCallback = (data: notificationSubscribe.SubscribeCallbackData) => { console.info("Consume callback: " + JSON.stringify(data)); } let subscriber: notificationSubscribe.NotificationSubscriber = { onConsume: onConsumeCallback }; //ä¸ä¼šå¯¹bundleNamesè¿›è¡Œæ ¡éªŒï¼Œå¼€å‘者自己确定需è¦è®¢é˜…哪些bundleName let info: notificationSubscribe.NotificationSubscribeInfo = { bundleNames: ["bundleName1","bundleName2"] }; notificationSubscribe.subscribe(subscriber, info, subscribeCallback); ``` ## notificationSubscribe.subscribe subscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\<void\>): void 订阅当å‰ç”¨æˆ·ä¸‹æ‰€æœ‰åº”用的通知。使用callback异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | ---------- | ---------------------- | ---- | ---------------- | | subscriber | [NotificationSubscriber](js-apis-inner-notification-notificationSubscriber-sys.md#notificationsubscriber) | 是 | 通知订阅对象。 | | callback | AsyncCallback\<void\> | 是 | 订阅动作回调函数。 | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | | 1600012 | No memory space. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; let subscribeCallback = (err: BusinessError) => { if (err) { console.error(`subscribe failed, code is ${err.code}, message is ${err.message}`); } else { console.info("subscribe success"); } } let onConsumeCallback = (data: notificationSubscribe.SubscribeCallbackData) => { console.info("Consume callback: " + JSON.stringify(data)); } let subscriber: notificationSubscribe.NotificationSubscriber = { onConsume: onConsumeCallback }; notificationSubscribe.subscribe(subscriber, subscribeCallback); ``` ## notificationSubscribe.subscribe subscribe(subscriber: NotificationSubscriber, info?: NotificationSubscribeInfo): Promise\<void\> 订阅通知并指定订阅信æ¯ã€‚使用Promise异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | ---------- | ------------------------- | ---- | ------------ | | subscriber | [NotificationSubscriber](js-apis-inner-notification-notificationSubscriber-sys.md#notificationsubscriber) | 是 | 通知订阅对象。 | | info | [NotificationSubscribeInfo](js-apis-inner-notification-notificationSubscribeInfo-sys.md#notificationsubscribeinfo) | å¦ | 通知订阅信æ¯ï¼Œé»˜è®¤ä¸ºç©ºï¼ˆå½“为空时,表示订阅当å‰ç”¨æˆ·ä¸‹æ‰€æœ‰åº”用的通知,å¦åˆ™è¡¨ç¤ºè®¢é˜…通知并指定订阅信æ¯ï¼‰ã€‚ | **返回值:** | 类型 | 说明 | | ------- |------------------| | Promise\<void\> | æ— è¿”å›žç»“æžœçš„Promise对象。 | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | | 1600012 | No memory space. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; let onConsumeCallback = (data: notificationSubscribe.SubscribeCallbackData) => { console.info("Consume callback: " + JSON.stringify(data)); } let subscriber: notificationSubscribe.NotificationSubscriber = { onConsume: onConsumeCallback }; notificationSubscribe.subscribe(subscriber).then(() => { console.info("subscribe success"); }).catch((err: BusinessError) => { console.error("subscribe fail: " + JSON.stringify(err)); }); ``` ## notificationSubscribe.subscribeSelf<sup>11+</sup> subscribeSelf(subscriber: NotificationSubscriber): Promise\<void\> 订阅本应用的通知并指定订阅信æ¯ã€‚使用Promise异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | ---------- | ------------------------- | ---- | ------------ | | subscriber | [NotificationSubscriber](js-apis-inner-notification-notificationSubscriber-sys.md#notificationsubscriber) | 是 | 通知订阅对象。 | **返回值:** | 类型 | 说明 | | ------- |------------------| | Promise\<void\> | æ— è¿”å›žç»“æžœçš„Promise对象。 | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ----------------------------------- | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | | 1600012 | No memory space. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; let onConsumeCallback = (data: notificationSubscribe.SubscribeCallbackData) => { console.info("Consume callback: " + JSON.stringify(data)); } let subscriber: notificationSubscribe.NotificationSubscriber = { onConsume: onConsumeCallback }; notificationSubscribe.subscribeSelf(subscriber).then(() => { console.info("subscribeSelf success"); }).catch((err: BusinessError) => { console.error("subscribeSelf fail: " + JSON.stringify(err)); }); ``` ## notificationSubscribe.unsubscribe unsubscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\<void\>): void å–æ¶ˆè®¢é˜…。使用callback异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | ---------- | ---------------------- | ---- | -------------------- | | subscriber | [NotificationSubscriber](js-apis-inner-notification-notificationSubscriber-sys.md#notificationsubscriber) | 是 | 通知订阅对象。 | | callback | AsyncCallback\<void\> | 是 | å–æ¶ˆè®¢é˜…动作回调函数。 | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; let unsubscribeCallback = (err: BusinessError) => { if (err) { console.error(`unsubscribe failed, code is ${err.code}, message is ${err.message}`); } else { console.info("unsubscribe success"); } } let onDisconnectCallback = () => { console.info("subscribe disconnect"); } let subscriber: notificationSubscribe.NotificationSubscriber = { onDisconnect: onDisconnectCallback }; notificationSubscribe.unsubscribe(subscriber, unsubscribeCallback); ``` ## notificationSubscribe.unsubscribe unsubscribe(subscriber: NotificationSubscriber): Promise\<void\> å–æ¶ˆè®¢é˜…。使用Promise异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | ---------- | ---------------------- | ---- | ------------ | | subscriber | [NotificationSubscriber](js-apis-inner-notification-notificationSubscriber-sys.md#notificationsubscriber) | 是 | 通知订阅对象。 | **返回值:** | 类型 | 说明 | | ------- |------------| | Promise\<void\> | æ— è¿”å›žç»“æžœçš„Promise对象。 | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; let onDisconnectCallback = () => { console.info("subscribe disconnect"); } let subscriber: notificationSubscribe.NotificationSubscriber = { onDisconnect: onDisconnectCallback }; notificationSubscribe.unsubscribe(subscriber).then(() => { console.info("unsubscribe success"); }).catch((err: BusinessError) => { console.error("unsubscribe fail: " + JSON.stringify(err)); }); ``` ## notificationSubscribe.remove remove(bundle: BundleOption, notificationKey: NotificationKey, reason: RemoveReason, callback: AsyncCallback\<void\>): void æ ¹æ®åº”用的包信æ¯å’Œé€šçŸ¥é”®å€¼ï¼Œåˆ 除指定通知。使用callback异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | --------------- | ----------------------------------| ---- | -------------------- | | bundle | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信æ¯ã€‚ | | notificationKey | [NotificationKey](#notificationkey) | 是 | 通知键值。 | | reason | [RemoveReason](#removereason) | 是 | é€šçŸ¥åˆ é™¤åŽŸå› ã€‚ | | callback | AsyncCallback\<void\> | 是 | åˆ é™¤æŒ‡å®šé€šçŸ¥å›žè°ƒå‡½æ•°ã€‚ | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ---------------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | | 1600007 | The notification is not exist. | | 17700001 | The specified bundle name was not found. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; import { notificationManager } from '@kit.NotificationKit'; let removeCallback = (err: BusinessError) => { if (err) { console.error(`remove failed, code is ${err.code}, message is ${err.message}`); } else { console.info("remove success"); } } let bundle: notificationManager.BundleOption = { bundle: "bundleName1", }; let notificationKey: notificationSubscribe.NotificationKey = { id: 0, label: "label", }; let reason: notificationSubscribe.RemoveReason = notificationSubscribe.RemoveReason.CLICK_REASON_REMOVE; notificationSubscribe.remove(bundle, notificationKey, reason, removeCallback); ``` ## notificationSubscribe.remove remove(bundle: BundleOption, notificationKey: NotificationKey, reason: RemoveReason): Promise\<void\> æ ¹æ®åº”用的包信æ¯å’Œé€šçŸ¥é”®å€¼ï¼Œåˆ 除指定通知。使用Promise异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | --------------- | --------------- | ---- | ---------- | | bundle | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信æ¯ã€‚ | | notificationKey | [NotificationKey](#notificationkey) | 是 | 通知键值。 | | reason | [RemoveReason](#removereason) | 是 | é€šçŸ¥åˆ é™¤åŽŸå› ã€‚ | **返回值:** | 类型 | 说明 | | ------- |------------| | Promise\<void\> | æ— è¿”å›žç»“æžœçš„Promise对象。 | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ---------------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | | 1600007 | The notification is not exist. | | 17700001 | The specified bundle name was not found. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; import { notificationManager } from '@kit.NotificationKit'; let bundle: notificationManager.BundleOption = { bundle: "bundleName1", }; let notificationKey: notificationSubscribe.NotificationKey = { id: 0, label: "label", }; let reason: notificationSubscribe.RemoveReason = notificationSubscribe.RemoveReason.CLICK_REASON_REMOVE; notificationSubscribe.remove(bundle, notificationKey, reason).then(() => { console.info("remove success"); }).catch((err: BusinessError) => { console.error("remove fail: " + JSON.stringify(err)); }); ``` ## notificationSubscribe.remove remove(hashCode: string, reason: RemoveReason, callback: AsyncCallback\<void\>): void 通过通知的唯一IDï¼Œåˆ é™¤æŒ‡å®šé€šçŸ¥ã€‚ä½¿ç”¨callback异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | -------- | --------------------- | ---- | -------------------- | | hashCode | string | 是 | 通知唯一ID。å¯ä»¥é€šè¿‡[onConsume](js-apis-inner-notification-notificationSubscriber-sys.md#onconsume)回调的入å‚[SubscribeCallbackData](js-apis-inner-notification-notificationSubscriber-sys.md#subscribecallbackdata)获å–其内部[NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest)对象ä¸çš„hashCode。 | | reason | [RemoveReason](#removereason) | 是 | é€šçŸ¥åˆ é™¤åŽŸå› ã€‚ | | callback | AsyncCallback\<void\> | 是 | åˆ é™¤æŒ‡å®šé€šçŸ¥å›žè°ƒå‡½æ•°ã€‚ | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | | 1600007 | The notification is not exist. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; let hashCode: string = 'hashCode'; let removeCallback = (err: BusinessError) => { if (err) { console.error(`remove failed, code is ${err.code}, message is ${err.message}`); } else { console.info("remove success"); } } let reason: notificationSubscribe.RemoveReason = notificationSubscribe.RemoveReason.CANCEL_REASON_REMOVE; notificationSubscribe.remove(hashCode, reason, removeCallback); ``` ## notificationSubscribe.remove remove(hashCode: string, reason: RemoveReason): Promise\<void\> 通过通知的唯一IDï¼Œåˆ é™¤æŒ‡å®šé€šçŸ¥ã€‚ä½¿ç”¨Promise异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | -------- | ---------- | ---- | ---------- | | hashCode | string | 是 | 通知唯一ID。å¯ä»¥é€šè¿‡[onConsume](js-apis-inner-notification-notificationSubscriber-sys.md#onconsume)回调的入å‚[SubscribeCallbackData](js-apis-inner-notification-notificationSubscriber-sys.md#subscribecallbackdata)获å–其内部[NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest)对象ä¸çš„hashCode。 | | reason | [RemoveReason](#removereason) | 是 | é€šçŸ¥åˆ é™¤åŽŸå› ã€‚ | **返回值:** | 类型 | 说明 | | ------- |--| | Promise\<void\> | æ— è¿”å›žç»“æžœçš„Promise对象。 | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | | 1600007 | The notification is not exist. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; let hashCode: string = 'hashCode'; let reason: notificationSubscribe.RemoveReason = notificationSubscribe.RemoveReason.CLICK_REASON_REMOVE; notificationSubscribe.remove(hashCode, reason).then(() => { console.info("remove success"); }).catch((err: BusinessError) => { console.error("remove fail: " + JSON.stringify(err)); }); ``` ## notificationSubscribe.remove<sup>10+</sup> remove(hashCodes: Array\<String\>, reason: RemoveReason, callback: AsyncCallback\<void\>): void 批é‡åˆ 除指定通知。使用callback异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | |-----------|-------------------------------| ---- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | hashCodes | Array\<String\> | 是 | 通知唯一ID数组集åˆã€‚å¯ä»¥é€šè¿‡[onConsume](js-apis-inner-notification-notificationSubscriber-sys.md#onconsume)回调的入å‚[SubscribeCallbackData](js-apis-inner-notification-notificationSubscriber-sys.md#subscribecallbackdata)获å–其内部[NotificationRequest](js-apis-inner-notification-notificationRequest.md#notificationrequest)对象ä¸çš„hashCode。 | | reason | [RemoveReason](#removereason) | 是 | é€šçŸ¥åˆ é™¤åŽŸå› ã€‚ | | callback | AsyncCallback\<void\> | 是 | åˆ é™¤æŒ‡å®šé€šçŸ¥å›žè°ƒå‡½æ•°ã€‚ | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; let hashCodes: string[] = ['hashCode1', 'hashCode2']; let removeCallback = (err: BusinessError) => { if (err) { console.error(`remove failed, code is ${err.code}, message is ${err.message}`); } else { console.info("remove success"); } } let reason: notificationSubscribe.RemoveReason = notificationSubscribe.RemoveReason.CANCEL_REASON_REMOVE; notificationSubscribe.remove(hashCodes, reason, removeCallback); ``` ## notificationSubscribe.remove<sup>10+</sup> remove(hashCodes: Array\<String\>, reason: RemoveReason): Promise\<void\> 批é‡åˆ 除指定通知。使用Promise异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | |-----------|-------------------------------| ---- |-------------| | hashCodes | Array\<String\> | 是 | 通知唯一ID数组集åˆã€‚ | | reason | [RemoveReason](#removereason) | 是 | é€šçŸ¥åˆ é™¤åŽŸå› ã€‚ | **返回值:** | 类型 | 说明 | | ------- |------------------| | Promise\<void\> | æ— è¿”å›žç»“æžœçš„Promise对象。 | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; let hashCodes: string[] = ['hashCode1','hashCode2']; let reason: notificationSubscribe.RemoveReason = notificationSubscribe.RemoveReason.CLICK_REASON_REMOVE; notificationSubscribe.remove(hashCodes, reason).then(() => { console.info("remove success"); }).catch((err: BusinessError) => { console.error("remove fail: " + JSON.stringify(err)); }); ``` ## notificationSubscribe.removeAll removeAll(bundle: BundleOption, callback: AsyncCallback\<void\>): void åˆ é™¤æŒ‡å®šåº”ç”¨çš„æ‰€æœ‰é€šçŸ¥ã€‚ä½¿ç”¨callback异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**ï¼šæ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | -------- | --------------------- | ---- | ---------------------------- | | bundle | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption) | 是 | 指定应用的包信æ¯ã€‚ | | callback | AsyncCallback\<void\> | 是 | åˆ é™¤æŒ‡å®šåº”ç”¨çš„æ‰€æœ‰é€šçŸ¥å›žè°ƒå‡½æ•°ã€‚ | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ---------------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | | 17700001 | The specified bundle name was not found. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; let removeAllCallback = (err: BusinessError) => { if (err) { console.error(`removeAll failed, code is ${err.code}, message is ${err.message}`); } else { console.info("removeAll success"); } } let bundle: notificationSubscribe.BundleOption = { bundle: "bundleName1", }; notificationSubscribe.removeAll(bundle, removeAllCallback); ``` ## notificationSubscribe.removeAll removeAll(callback: AsyncCallback\<void\>): void åˆ é™¤æ‰€æœ‰é€šçŸ¥ã€‚ä½¿ç”¨callback异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | -------- | --------------------- | ---- | -------------------- | | callback | AsyncCallback\<void\> | 是 | åˆ é™¤æ‰€æœ‰é€šçŸ¥å›žè°ƒå‡½æ•°ã€‚ | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; let removeAllCallback = (err: BusinessError) => { if (err) { console.error(`removeAll failed, code is ${err.code}, message is ${err.message}`); } else { console.info("removeAll success"); } } notificationSubscribe.removeAll(removeAllCallback); ``` ## notificationSubscribe.removeAll removeAll(bundle?: BundleOption): Promise\<void\> åˆ é™¤æŒ‡å®šåº”ç”¨çš„æ‰€æœ‰é€šçŸ¥ã€‚ä½¿ç”¨Promise异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | ------ | ------------ | ---- | ---------- | | bundle | [BundleOption](js-apis-inner-notification-notificationCommonDef.md#bundleoption) | å¦ | 指定应用的包信æ¯ã€‚é»˜è®¤ä¸ºç©ºï¼Œè¡¨ç¤ºåˆ é™¤æ‰€æœ‰é€šçŸ¥ã€‚ | **返回值:** | 类型 | 说明 | | ------- |------------| | Promise\<void\> | æ— è¿”å›žç»“æžœçš„Promise对象。 | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ---------------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | | 17700001 | The specified bundle name was not found. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; // 䏿Œ‡å®šåº”ç”¨æ—¶ï¼Œåˆ é™¤æ‰€æœ‰é€šçŸ¥ notificationSubscribe.removeAll().then(() => { console.info("removeAll success"); }).catch((err: BusinessError) => { console.error("removeAll fail: " + JSON.stringify(err)); }); ``` ## notificationSubscribe.removeAll removeAll(userId: number, callback: AsyncCallback\<void>): void åˆ é™¤æŒ‡å®šç”¨æˆ·ä¸‹çš„æ‰€æœ‰é€šçŸ¥ã€‚ä½¿ç”¨callback异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | ------ | ------------ | ---- | ---------- | | userId | number | 是 | 用户ID。 | | callback | AsyncCallback\<void\> | 是 | åˆ é™¤æŒ‡å®šç”¨æˆ·æ‰€æœ‰é€šçŸ¥å›žè°ƒå‡½æ•°ã€‚ | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | | 1600008 | The user does not exist. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; let removeAllCallback = (err: BusinessError) => { if (err) { console.error(`removeAll failed, code is ${err.code}, message is ${err.message}`); } else { console.info("removeAll success"); } } // 用户ID,使用时需替æ¢ä¸ºçœŸå®žçš„userId。 let userId: number = 1; notificationSubscribe.removeAll(userId, removeAllCallback); ``` ## notificationSubscribe.removeAll removeAll(userId: number): Promise\<void> åˆ é™¤æŒ‡å®šç”¨æˆ·ä¸‹çš„æ‰€æœ‰é€šçŸ¥ã€‚ä½¿ç”¨Promise异æ¥å›žè°ƒã€‚ **系统能力**:SystemCapability.Notification.Notification **éœ€è¦æƒé™**: ohos.permission.NOTIFICATION_CONTROLLER **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | ------ | ------------ | ---- | ---------- | | userId | number | 是 | 用户ID。 | **错误ç :** 以下错误ç 的详细介ç»è¯·å‚è§[通用错误ç ](../errorcode-universal.md)å’Œ[通知错误ç ](./errorcode-notification.md)。 | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ----------------------------------- | | 201 | Permission denied. | | 202 | Not system application to call the interface. | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 1600001 | Internal error. | | 1600002 | Marshalling or unmarshalling error. | | 1600003 | Failed to connect to the service. | | 1600008 | The user does not exist. | **示例:** ```ts import { BusinessError } from '@kit.BasicServicesKit'; let userId: number = 1; notificationSubscribe.removeAll(userId).then(() => { console.info("removeAll success"); }).catch((err: BusinessError) => { console.error("removeAll fail: " + JSON.stringify(err)); }); ``` ## NotificationKey **系统能力**:以下å„项对应的系统能力å‡ä¸ºSystemCapability.Notification.Notification **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ | åç§° | 类型 | å¿…å¡« | 说明 | | ----- | ------ | --- | -------- | | id | number | 是 | 通知ID。 | | label | string | å¦ | é€šçŸ¥æ ‡ç¾ï¼Œé»˜è®¤ä¸ºç©ºã€‚ | ## RemoveReason **系统能力**:SystemCapability.Notification.Notification **系统接å£**: æ¤æŽ¥å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ | åç§° | 值 | 说明 | | -------------------- | --- | -------------------- | | CLICK_REASON_REMOVE | 1 | 点击通知åŽåˆ 除通知。 | | CANCEL_REASON_REMOVE | 2 | ç”¨æˆ·åˆ é™¤é€šçŸ¥ã€‚ |