openharmony 鸿蒙 js-apis-inner-notification-notificationSubscriber-sys

2025-06-12 浏览 (1)

NotificationSubscriber (System API)

The NotificationSubscriber module provides callbacks for receiving or removing notifications and serves as the input parameter of subscribe.

NOTE

The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.

The APIs provided by this module are system APIs.

Modules to Import

import { notificationSubscribe } from '@kit.NotificationKit';

onConsume

onConsume?: (data: SubscribeCallbackData) => void

Called when a new notification is received.

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
onConsume(data: SubscribeCallbackData) => voidNoInformation about the notification received.

Example

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("subscribeCallback");
  }
};

let onConsumeCallback = (data: notificationSubscribe.SubscribeCallbackData) => {
  console.info('===> onConsume in test');
  let req = data.request;
  console.info('===> onConsume callback req.id:' + req.id);
};

let subscriber: notificationSubscribe.NotificationSubscriber = {
  onConsume: onConsumeCallback
};

notificationSubscribe.subscribe(subscriber, subscribeCallback);

onCancel

onCancel?: (data: SubscribeCallbackData) => void

Called when a notification is canceled.

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
onCancel(data: SubscribeCallbackData) => voidNoInformation about the notification to cancel.

Example

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("subscribeCallback");
  }
};

let onCancelCallback = (data: notificationSubscribe.SubscribeCallbackData) => {
  console.info('===> onCancel in test');
  let req = data.request;
  console.info('===> onCancel callback req.id:' + req.id);
}

let subscriber: notificationSubscribe.NotificationSubscriber = {
  onCancel: onCancelCallback
};

notificationSubscribe.subscribe(subscriber, subscribeCallback);

onUpdate

onUpdate?: (data: NotificationSortingMap) => void

Called when notification sorting is updated. Not supported currently.

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
onUpdate(data: NotificationSortingMap) => voidNoLatest notification sorting list.

Example

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("subscribeCallback");
  }
};

let subscriber: notificationSubscribe.NotificationSubscriber = {
  onUpdate: (map) => {
    console.info('===> onUpdateCallback map:' + JSON.stringify(map));
  }
};

notificationSubscribe.subscribe(subscriber, subscribeCallback);

onConnect

onConnect?: () => void

Called when subscription is complete.

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
onConnect() => voidNoCallback invoked when subscription is complete.

Example

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("subscribeCallback");
  }
};

let onConnectCallback = () => {
  console.info('===> onConnect in test');
}

let subscriber: notificationSubscribe.NotificationSubscriber = {
  onConnect: onConnectCallback
};

notificationSubscribe.subscribe(subscriber, subscribeCallback);

onDisconnect

onDisconnect?: () => void

Called when unsubscription is complete.

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
onDisconnect() => voidNoCallback invoked when unsubscription is complete.

Example

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("subscribeCallback");
  }
};
let unsubscribeCallback = (err: BusinessError) => {
  if (err) {
    console.error(`unsubscribe failed, code is ${err.code}, message is ${err.message}`);
  } else {
    console.info("unsubscribeCallback");
  }
};

let onConnectCallback = () => {
  console.info('===> onConnect in test');
}
let onDisconnectCallback = () => {
  console.info('===> onDisconnect in test');
}

let subscriber: notificationSubscribe.NotificationSubscriber = {
  onConnect: onConnectCallback,
  onDisconnect: onDisconnectCallback
};

// The onConnect callback is invoked when subscription to the notification is complete.
notificationSubscribe.subscribe(subscriber, subscribeCallback);
// The onDisconnect callback is invoked when unsubscription to the notification is complete.
notificationSubscribe.unsubscribe(subscriber, unsubscribeCallback);

onDestroy

onDestroy?: () => void

Called when the service is disconnected.

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
onDestroy() => voidNoCallback used when the service is disconnected.

Example

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("subscribeCallback");
  }
};

let onDestroyCallback = () => {
  console.info('===> onDestroy in test');
}

let subscriber: notificationSubscribe.NotificationSubscriber = {
  onDestroy: onDestroyCallback
};

notificationSubscribe.subscribe(subscriber, subscribeCallback);

onDoNotDisturbDateChange8+(deprecated)

onDoNotDisturbDateChange?: (mode: notification.DoNotDisturbDate) => void

Called when the DND time settings are changed.

NOTE

This API is supported since API version 8 and is deprecated since API version 11. You are advised to use onDoNotDisturbChanged instead.

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
onDoNotDisturbDateChange(mode: notification.DoNotDisturbDate) => voidNoCallback used to return DND time setting updates.

Example

import { BusinessError } from '@kit.BasicServicesKit';
import Notification from '@ohos.notification';

let subscribeCallback = (err: BusinessError) => {
  if (err) {
    console.error(`subscribe failed, code is ${err.code}, message is ${err.message}`);
  } else {
    console.info("subscribeCallback");
  }
};

let onDoNotDisturbDateChangeCallback = (mode: Notification.DoNotDisturbDate) => {
  console.info('===> onDoNotDisturbDateChange:' + mode);
}

let subscriber: notificationSubscribe.NotificationSubscriber = {
  onDoNotDisturbDateChange: onDoNotDisturbDateChangeCallback
};

notificationSubscribe.subscribe(subscriber, subscribeCallback);

onDoNotDisturbChanged11+

onDoNotDisturbChanged?: (mode: notificationManager.DoNotDisturbDate) => void

Called when the DND time settings are changed.

System API: This is a system API.

System capability: SystemCapability.Notification.Notification

Parameters

NameTypeMandatoryDescription
onDoNotDisturbChanged(mode: notificationManager.DoNotDisturbDate) => voidNoCallback used to return DND time setting updates.

Example

import { BusinessError } from '@kit.BasicServicesKit';
import { notificationSubscribe, notificationManager } from '@kit.NotificationKit';

let subscribeCallback = (err: BusinessError) => {
  if (err) {
    console.error(`subscribe failed, code is ${err.code}, message is ${err.message}`);
  } else {
    console.info("subscribeCallback");
  }
};

let onDoNotDisturbChangedCallback = (mode: notificationManager.DoNotDisturbDate) => {
  console.info('===> onDoNotDisturbChanged:' + JSON.stringify(mode));
}

let subscriber: notificationSubscribe.NotificationSubscriber = {
  onDoNotDisturbChanged: onDoNotDisturbChangedCallback
};

notificationSubscribe.subscribe(subscriber, subscribeCallback);

onEnabledNotificationChanged8+

onEnabledNotificationChanged?: (callbackData: EnabledNotificationCallbackData) => void

Listens for the notification enabled state changes.

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
onEnabledNotificationChanged(callbackData: EnabledNotificationCallbackData) => voidNoCallback used to return the listened application information.

Example

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("subscribeCallback");
  }
};

let onEnabledNotificationChangedCallback = (callbackData: notificationSubscribe.EnabledNotificationCallbackData) => {
  console.info("bundle: ", callbackData.bundle);
  console.info("uid: ", callbackData.uid);
  console.info("enable: ", callbackData.enable);
};

let subscriber: notificationSubscribe.NotificationSubscriber = {
  onEnabledNotificationChanged: onEnabledNotificationChangedCallback
};

notificationSubscribe.subscribe(subscriber, subscribeCallback);

onBadgeChanged10+

onBadgeChanged?: (data: BadgeNumberCallbackData) => void

Listens for the change of the notification badge number.

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
onBadgeChanged(data: BadgeNumberCallbackData) => voidNoCallback used to return the listened application information.

Example

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("subscribeCallback");
  }
};

let subscriber: notificationSubscribe.NotificationSubscriber = {
  onBadgeChanged: (data) => {
    console.info("bundle: ", data.bundle);
    console.info("uid: ", data.uid);
    console.info("badgeNumber: ", data.badgeNumber);
  }
};

notificationSubscribe.subscribe(subscriber, subscribeCallback);

onBadgeEnabledChanged12+

onBadgeEnabledChanged?: BadgeEnabledChangedCallback

Listens for the change of the notification badge enabling state.

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
onBadgeEnabledChangedBadgeEnabledChangedCallbackNoCallback used to return the change of the notification badge enabling state.

Example

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('subscribeCallback');
  }
};

let BadgeEnabledChangedCallback = (data: notificationSubscribe.EnabledNotificationCallbackData) => {
  console.info('onBadgeEnabledChanged, badge enabled state change to: ', JSON.stringify(data));
};
let subscriber: notificationSubscribe.NotificationSubscriber = {
  onBadgeEnabledChanged: BadgeEnabledChangedCallback
};

notificationSubscribe.subscribe(subscriber, subscribeCallback);

onBatchCancel11+

onBatchCancel?: (data: Array<SubscribeCallbackData>) => void

Called for batch deletion.

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
onBatchCancel(data: Array<SubscribeCallbackData>) => voidNoNotification information of batch deletion.

Example

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("subscribeCallback");
  }
};

let onBatchCancelCallBack = (data: Array<notificationSubscribe.SubscribeCallbackData>) => {
  console.info('===> onBatchCancel in test');
  let req = data[0].request;
  console.info('===> onBatchCancel callback req.id:' + req.id);
};

let subscriber: notificationSubscribe.NotificationSubscriber = {
  onBatchCancel: onBatchCancelCallBack
};

notificationSubscribe.subscribe(subscriber, subscribeCallback);

SubscribeCallbackData

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

NameTypeReadableWritableDescription
requestNotificationRequestYesNoNotification content.
sortingMapNotificationSortingMapYesNoNotification sorting information.
reasonnumberYesNoReason for deletion. The options are as follows:
1: The notification is deleted after being clicked.
2: The notification is deleted by the user.
soundstringYesNoSound used for notification.
vibrationValuesArray<number>YesNoVibration used for notification.

EnabledNotificationCallbackData8+

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

NameTypeReadableWritableDescription
bundlestringYesNoBundle name of the application.
uidnumberYesNoUID of the application.
enablebooleanYesNoWhether the application notification is enabled.
- true: enabled.
- false: disabled.

BadgeNumberCallbackData10+

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

NameTypeReadableWritableDescription
bundlestringYesNoBundle name of the application.
uidnumberYesNoUID of the application.
badgeNumbernumberYesNoNumber of notifications displayed on the application icon.
instanceKey(deprecated)numberYesNoKey value of an application instance.
appInstanceKey15+stringYesNoKey value of an application instance.

BadgeEnabledChangedCallback12+

System capability: SystemCapability.Notification.Notification

System API: This is a system API.

NameTypeRead OnlyOptionalDescription
dataEnabledNotificationCallbackDataYesYesCallback used to return the listened badge enabling state.

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Notification Kit (User Notification Service)

harmony 鸿蒙Notification

harmony 鸿蒙Notification Error Codes

harmony 鸿蒙NotificationActionButton

harmony 鸿蒙NotificationCommonDef

harmony 鸿蒙NotificationContent (System API)

harmony 鸿蒙NotificationContent

harmony 鸿蒙NotificationFlags (System API)

harmony 鸿蒙NotificationFlags

harmony 鸿蒙NotificationRequest (System API)

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/ulRVJM