通知管理的能力

2024-01-23 12:59 更新

本模块提供通知管理的能力,包括发布、取消发布通知,创建、获取、移除通知通道,获取通知的使能状态、角标使能状态,获取通知的相关信息等。

说明

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

导入模块

  1. import Notification from '@ohos.notificationManager';

Notification.publish

publish(request: NotificationRequest, callback: AsyncCallback<void>): void

发布通知(callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

request

NotificationRequest

用于设置要发布通知的内容和相关配置信息。

callback

AsyncCallback<void>

发布通知的回调方法。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

1600004

Notification is not enabled.

1600005

Notification slot is not enabled.

1600009

Over max number notifications per second.

示例:

  1. //publish回调
  2. function publishCallback(err) {
  3. if (err) {
  4. console.info("publish failed " + JSON.stringify(err));
  5. } else {
  6. console.info("publish success");
  7. }
  8. }
  9. //通知Request对象
  10. let notificationRequest = {
  11. id: 1,
  12. content: {
  13. contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
  14. normal: {
  15. title: "test_title",
  16. text: "test_text",
  17. additionalText: "test_additionalText"
  18. }
  19. }
  20. };
  21. Notification.publish(notificationRequest, publishCallback);

Notification.publish

publish(request: NotificationRequest): Promise<void>

发布通知(Promise形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

request

NotificationRequest

用于设置要发布通知的内容和相关配置信息。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

1600004

Notification is not enabled.

1600005

Notification slot is not enabled.

1600009

Over max number notifications per second.

示例:

  1. // 通知Request对象
  2. let notificationRequest = {
  3. notificationId: 1,
  4. content: {
  5. contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
  6. normal: {
  7. title: "test_title",
  8. text: "test_text",
  9. additionalText: "test_additionalText"
  10. }
  11. }
  12. };
  13. Notification.publish(notificationRequest).then(() => {
  14. console.info("publish success");
  15. });

Notification.cancel

cancel(id: number, label: string, callback: AsyncCallback<void>): void

通过通知ID和通知标签取消已发布的通知(callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

id

number

通知ID。

label

string

通知标签。

callback

AsyncCallback<void>

表示被指定的回调方法。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

1600007

The notification is not exist.

示例:

  1. // cancel回调
  2. function cancelCallback(err) {
  3. if (err) {
  4. console.info("cancel failed " + JSON.stringify(err));
  5. } else {
  6. console.info("cancel success");
  7. }
  8. }
  9. Notification.cancel(0, "label", cancelCallback);

Notification.cancel

cancel(id: number, label?: string): Promise<void>

取消与指定通知ID相匹配的已发布通知,label可以指定也可以不指定(Promise形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

id

number

通知ID。

label

string

通知标签。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

1600007

The notification is not exist.

示例:

  1. Notification.cancel(0).then(() => {
  2. console.info("cancel success");
  3. });

Notification.cancel

cancel(id: number, callback: AsyncCallback<void>): void

取消与指定通知ID相匹配的已发布通知(callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

id

number

通知ID。

callback

AsyncCallback<void>

表示被指定的回调方法。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

1600007

The notification is not exist.

示例:

  1. // cancel回调
  2. function cancelCallback(err) {
  3. if (err) {
  4. console.info("cancel failed " + JSON.stringify(err));
  5. } else {
  6. console.info("cancel success");
  7. }
  8. }
  9. Notification.cancel(0, cancelCallback);

Notification.cancelAll

cancelAll(callback: AsyncCallback<void>): void

取消所有已发布的通知(callback形式)。

系统能力:SystemCapability.Notification.Notification

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

参数:

参数名

类型

必填

说明

callback

AsyncCallback<void>

表示被指定的回调方法。

示例:

  1. // cancel回调
  2. function cancelAllCallback(err) {
  3. if (err) {
  4. console.info("cancelAll failed " + JSON.stringify(err));
  5. } else {
  6. console.info("cancelAll success");
  7. }
  8. }
  9. Notification.cancelAll(cancelAllCallback);

Notification.cancelAll

cancelAll(): Promise<void>

取消所有已发布的通知(Promise形式)。

系统能力:SystemCapability.Notification.Notification

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. Notification.cancelAll().then(() => {
  2. console.info("cancelAll success");
  3. });

Notification.addSlot

addSlot(type: SlotType, callback: AsyncCallback<void>): void

创建指定类型的通知通道(callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

type

SlotType

要创建的通知通道的类型。

callback

AsyncCallback<void>

表示被指定的回调方法。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. // addslot回调
  2. function addSlotCallBack(err) {
  3. if (err) {
  4. console.info("addSlot failed " + JSON.stringify(err));
  5. } else {
  6. console.info("addSlot success");
  7. }
  8. }
  9. Notification.addSlot(Notification.SlotType.SOCIAL_COMMUNICATION, addSlotCallBack);

Notification.addSlot

addSlot(type: SlotType): Promise<void>

创建指定类型的通知通道(Promise形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

type

SlotType

要创建的通知通道的类型。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. Notification.addSlot(Notification.SlotType.SOCIAL_COMMUNICATION).then(() => {
  2. console.info("addSlot success");
  3. });

Notification.getSlot

getSlot(slotType: SlotType, callback: AsyncCallback<NotificationSlot>): void

获取一个指定类型的通知通道(callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

slotType

SlotType

通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型。

callback

AsyncCallback<NotificationSlot>

表示被指定的回调方法。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. // getSlot回调
  2. function getSlotCallback(err,data) {
  3. if (err) {
  4. console.info("getSlot failed " + JSON.stringify(err));
  5. } else {
  6. console.info("getSlot success");
  7. }
  8. }
  9. let slotType = Notification.SlotType.SOCIAL_COMMUNICATION;
  10. Notification.getSlot(slotType, getSlotCallback);

Notification.getSlot

getSlot(slotType: SlotType): Promise<NotificationSlot>

获取一个指定类型的通知通道(Promise形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

slotType

SlotType

通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型。

返回值:

类型

说明

Promise<NotificationSlot>

以Promise形式返回获取一个通知通道。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. let slotType = Notification.SlotType.SOCIAL_COMMUNICATION;
  2. Notification.getSlot(slotType).then((data) => {
  3. console.info("getSlot success, data: " + JSON.stringify(data));
  4. });

Notification.getSlots

getSlots(callback: AsyncCallback<Array<NotificationSlot>>): void

获取此应用程序的所有通知通道(callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

callback

AsyncCallback<Array<NotificationSlot>>

以callback形式返回获取此应用程序的所有通知通道的结果。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. // getSlots回调
  2. function getSlotsCallback(err,data) {
  3. if (err) {
  4. console.info("getSlots failed " + JSON.stringify(err));
  5. } else {
  6. console.info("getSlots success");
  7. }
  8. }
  9. Notification.getSlots(getSlotsCallback);

Notification.getSlots

getSlots(): Promise<Array<NotificationSlot>>

获取此应用程序的所有通知通道(Promise形式)。

系统能力:SystemCapability.Notification.Notification

返回值:

类型

说明

Promise<Array<NotificationSlot>>

以Promise形式返回获取此应用程序的所有通知通道的结果。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. Notification.getSlots().then((data) => {
  2. console.info("getSlots success, data: " + JSON.stringify(data));
  3. });

Notification.removeSlot

removeSlot(slotType: SlotType, callback: AsyncCallback<void>): void

删除指定类型的通知通道(callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

slotType

SlotType

通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型。

callback

AsyncCallback<void>

表示被指定的回调方法。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. // removeSlot回调
  2. function removeSlotCallback(err) {
  3. if (err) {
  4. console.info("removeSlot failed " + JSON.stringify(err));
  5. } else {
  6. console.info("removeSlot success");
  7. }
  8. }
  9. let slotType = Notification.SlotType.SOCIAL_COMMUNICATION;
  10. Notification.removeSlot(slotType,removeSlotCallback);

Notification.removeSlot

removeSlot(slotType: SlotType): Promise<void>

删除指定类型的通知通道(Promise形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

slotType

SlotType

通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. let slotType = Notification.SlotType.SOCIAL_COMMUNICATION;
  2. Notification.removeSlot(slotType).then(() => {
  3. console.info("removeSlot success");
  4. });

Notification.removeAllSlots

removeAllSlots(callback: AsyncCallback<void>): void

删除所有通知通道(callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

callback

AsyncCallback<void>

表示被指定的回调方法。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. function removeAllCallBack(err) {
  2. if (err) {
  3. console.info("removeAllSlots failed " + JSON.stringify(err));
  4. } else {
  5. console.info("removeAllSlots success");
  6. }
  7. }
  8. Notification.removeAllSlots(removeAllCallBack);

Notification.removeAllSlots

removeAllSlots(): Promise<void>

删除所有通知通道(Promise形式)。

系统能力:SystemCapability.Notification.Notification

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. Notification.removeAllSlots().then(() => {
  2. console.info("removeAllSlots success");
  3. });

Notification.getActiveNotificationCount

getActiveNotificationCount(callback: AsyncCallback<number>): void

获取当前应用未删除的通知数(Callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

callback

AsyncCallback<number>

获取未删除通知数回调函数。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. function getActiveNotificationCountCallback(err, data) {
  2. if (err) {
  3. console.info("getActiveNotificationCount failed " + JSON.stringify(err));
  4. } else {
  5. console.info("getActiveNotificationCount success");
  6. }
  7. }
  8. Notification.getActiveNotificationCount(getActiveNotificationCountCallback);

Notification.getActiveNotificationCount

getActiveNotificationCount(): Promise<number>

获取当前应用未删除的通知数(Promise形式)。

系统能力:SystemCapability.Notification.Notification

返回值:

类型

说明

Promise<number>

以Promise形式返回获取当前应用未删除通知数。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. Notification.getActiveNotificationCount().then((data) => {
  2. console.info("getActiveNotificationCount success, data: " + JSON.stringify(data));
  3. });

Notification.getActiveNotifications

getActiveNotifications(callback: AsyncCallback<Array<NotificationRequest>>): void

获取当前应用未删除的通知列表(Callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

callback

AsyncCallback<Array<NotificationRequest>>

获取当前应用通知列表回调函数。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. function getActiveNotificationsCallback(err, data) {
  2. if (err) {
  3. console.info("getActiveNotifications failed " + JSON.stringify(err));
  4. } else {
  5. console.info("getActiveNotifications success");
  6. }
  7. }
  8. Notification.getActiveNotifications(getActiveNotificationsCallback);

Notification.getActiveNotifications

getActiveNotifications(): Promise<Array<NotificationRequest>>

获取当前应用未删除的通知列表(Promise形式)。

系统能力:SystemCapability.Notification.Notification

返回值:

类型

说明

Promise<Array<NotificationRequest>>

以Promise形式返回获取当前应用通知列表。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. Notification.getActiveNotifications().then((data) => {
  2. console.info("removeGroupByBundle success, data: " + JSON.stringify(data));
  3. });

Notification.cancelGroup

cancelGroup(groupName: string, callback: AsyncCallback<void>): void

取消本应用指定组下的通知(Callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

groupName

string

通知组名称,此名称需要在发布通知时通过NotificationRequest对象指定。

callback

AsyncCallback<void>

取消本应用指定组下通知的回调函数。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. function cancelGroupCallback(err) {
  2. if (err) {
  3. console.info("cancelGroup failed " + JSON.stringify(err));
  4. } else {
  5. console.info("cancelGroup success");
  6. }
  7. }
  8. let groupName = "GroupName";
  9. Notification.cancelGroup(groupName, cancelGroupCallback);

Notification.cancelGroup

cancelGroup(groupName: string): Promise<void>

取消本应用指定组下的通知(Promise形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

groupName

string

通知组名称。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. let groupName = "GroupName";
  2. Notification.cancelGroup(groupName).then(() => {
  3. console.info("cancelGroup success");
  4. });

Notification.isSupportTemplate

isSupportTemplate(templateName: string, callback: AsyncCallback<boolean>): void

查询模板是否存在(Callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

templateName

string

模板名称。

callback

AsyncCallback<boolean>

查询模板是否存在的回调函数。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

1600011

Read template config failed.

示例:

  1. let templateName = 'process';
  2. function isSupportTemplateCallback(err, data) {
  3. if (err) {
  4. console.info("isSupportTemplate failed " + JSON.stringify(err));
  5. } else {
  6. console.info("isSupportTemplate success");
  7. }
  8. }
  9. Notification.isSupportTemplate(templateName, isSupportTemplateCallback);

Notification.isSupportTemplate

isSupportTemplate(templateName: string): Promise<boolean>

查询模板是否存在(Promise形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

templateName

string

模板名称。

返回值:

类型

说明

Promise<boolean>

Promise方式返回模板是否存在的结果。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

1600011

Read template config failed.

示例:

  1. let templateName = 'process';
  2. Notification.isSupportTemplate(templateName).then((data) => {
  3. console.info("isSupportTemplate success, data: " + JSON.stringify(data));
  4. });

Notification.requestEnableNotification

requestEnableNotification(callback: AsyncCallback<void>): void

应用请求通知使能(Callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

callback

AsyncCallback<void>

应用请求通知使能的回调函数。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. function requestEnableNotificationCallback(err) {
  2. if (err) {
  3. console.info("requestEnableNotification failed " + JSON.stringify(err));
  4. } else {
  5. console.info("requestEnableNotification success");
  6. }
  7. };
  8. Notification.requestEnableNotification(requestEnableNotificationCallback);

Notification.requestEnableNotification

requestEnableNotification(): Promise<void>

应用请求通知使能(Promise形式)。

系统能力:SystemCapability.Notification.Notification

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

示例:

  1. Notification.requestEnableNotification().then(() => {
  2. console.info("requestEnableNotification success");
  3. });

Notification.isDistributedEnabled

isDistributedEnabled(callback: AsyncCallback<boolean>): void

查询设备是否支持分布式通知(Callback形式)。

系统能力:SystemCapability.Notification.Notification

参数:

参数名

类型

必填

说明

callback

AsyncCallback<boolean>

设备是否支持分布式通知的回调函数。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

1600010

Distributed operation failed.

示例:

  1. function isDistributedEnabledCallback(err, data) {
  2. if (err) {
  3. console.info("isDistributedEnabled failed " + JSON.stringify(err));
  4. } else {
  5. console.info("isDistributedEnabled success " + JSON.stringify(data));
  6. }
  7. };
  8. Notification.isDistributedEnabled(isDistributedEnabledCallback);

Notification.isDistributedEnabled

isDistributedEnabled(): Promise<boolean>

查询设备是否支持分布式通知(Promise形式)。

系统能力:SystemCapability.Notification.Notification

返回值:

类型

说明

Promise<boolean>

Promise方式返回设备是否支持分布式通知的结果。

错误码:

错误码详细介绍请参考errcode-notification

错误码ID

错误信息

1600001

Internal error.

1600002

Marshalling or unmarshalling error.

1600003

Failed to connect service.

1600010

Distributed operation failed.

示例:

  1. Notification.isDistributedEnabled()
  2. .then((data) => {
  3. console.info("isDistributedEnabled success, data: " + JSON.stringify(data));
  4. });

ContentType

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

名称

说明

NOTIFICATION_CONTENT_BASIC_TEXT

NOTIFICATION_CONTENT_BASIC_TEXT

普通类型通知。

NOTIFICATION_CONTENT_LONG_TEXT

NOTIFICATION_CONTENT_LONG_TEXT

长文本类型通知。

NOTIFICATION_CONTENT_PICTURE

NOTIFICATION_CONTENT_PICTURE

图片类型通知。

NOTIFICATION_CONTENT_CONVERSATION

NOTIFICATION_CONTENT_CONVERSATION

社交类型通知。

NOTIFICATION_CONTENT_MULTILINE

NOTIFICATION_CONTENT_MULTILINE

多行文本类型通知。

SlotType

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

名称

说明

UNKNOWN_TYPE

0

未知类型。

SOCIAL_COMMUNICATION

1

社交类型。

SERVICE_INFORMATION

2

服务类型。

CONTENT_INFORMATION

3

内容类型。

OTHER_TYPES

0xFFFF

其他类型。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号