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

2025-06-16 浏览 (1)

NotificationSubscriber(系统接口)

作为订阅通知接口subscribe的入参,提供订阅者接收到新通知、取消通知等的回调方法。

说明:

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

本模块为系统接口。

导入模块

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

onConsume

onConsume?: (data: SubscribeCallbackData) => void

接收到新通知的回调函数。

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
onConsume(data: SubscribeCallbackData) => void新接收到的通知信息。

示例:

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

取消通知的回调函数。

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
onCancel(data: SubscribeCallbackData) => void需要取消的通知信息。

示例:

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

更新通知排序的回调函数。预留能力,暂未支持。

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
onUpdate(data: NotificationSortingMap) => void最新的通知排序列表。

示例:

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

订阅完成的回调函数。

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
onConnect() => void订阅完成的回调。

示例:

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

取消订阅的回调函数。

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
onDisconnect() => void取消订阅的回调。

示例:

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
};

// 订阅通知后会收到onConnect回调
notificationSubscribe.subscribe(subscriber, subscribeCallback);
// 取消订阅后会收到onDisconnect回调
notificationSubscribe.unsubscribe(subscriber, unsubscribeCallback);

onDestroy

onDestroy?: () => void

服务失联回调函数。

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
onDestroy() => void服务失联的回调。

示例:

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

免打扰时间选项发生变更时的回调函数。

说明:

此接口从API version 8开始支持,从API version 11开始不再维护,建议使用onDoNotDisturbChanged代替。

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
onDoNotDisturbDateChange(mode: notification.DoNotDisturbDate) => void回调返回免打扰时间选项变更。

示例:

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

免打扰时间选项发生变更时的回调函数。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Notification.Notification

参数:

参数名类型必填说明
onDoNotDisturbChanged(mode: notificationManager.DoNotDisturbDate) => void回调返回免打扰时间选项变更。

示例:

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

监听应用通知使能变化。

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
onEnabledNotificationChanged(callbackData: EnabledNotificationCallbackData) => void回调返回监听到的应用信息。

示例:

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

监听应用角标个数变化。

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
onBadgeChanged(data: BadgeNumberCallbackData) => void回调返回监听到的应用信息。

示例:

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

监听应用角标使能状态变化。

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
onBadgeEnabledChangedBadgeEnabledChangedCallback回调应用角标使能状态变化。

示例:

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

批量删除的回调函数。

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
onBatchCancel(data: Array<SubscribeCallbackData>) => void批量删除的通知信息。

示例:

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

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

名称类型可读可写说明
requestNotificationRequest通知内容。
sortingMapNotificationSortingMap通知排序信息。
reasonnumber删除原因(1:点击通知后删除通知,2:用户删除通知) 。
soundstring通知声音。
vibrationValuesArray<number>通知震动。

EnabledNotificationCallbackData8+

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

名称类型只读可选说明
bundlestring应用的包名。
uidnumber应用的uid。
enableboolean应用通知使能状态。
- true:允许。
- false:禁止。

BadgeNumberCallbackData10+

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

名称类型只读可选说明
bundlestring应用的包名。
uidnumber应用的uid。
badgeNumbernumber角标个数。
instanceKey(deprecated)number应用实例键值。
appInstanceKey15+string应用实例键值。

BadgeEnabledChangedCallback12+

系统能力:SystemCapability.Notification.Notification

系统接口:此接口为系统接口。

名称类型只读可选说明
dataEnabledNotificationCallbackData回调返回监听到的角标使能状态信息。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Notification Kit(用户通知服务)

harmony 鸿蒙Notification

harmony 鸿蒙通知错误码

harmony 鸿蒙NotificationActionButton

harmony 鸿蒙NotificationCommonDef

harmony 鸿蒙NotificationContent(系统接口)

harmony 鸿蒙NotificationContent

harmony 鸿蒙NotificationFlags(系统接口)

harmony 鸿蒙NotificationFlags

harmony 鸿蒙NotificationRequest(系统接口)

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