@ohos.notificationManager (NotificationManager模块)

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

说明:

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

导入模块

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.

示例:

//publish回调
function publishCallback(err) {
    if (err) {
        console.info("publish failed " + JSON.stringify(err));
    } else {
        console.info("publish success");
    }
}
//通知Request对象
let notificationRequest = {
    id: 1,
    content: {
        contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
        normal: {
            title: "test_title",
            text: "test_text",
            additionalText: "test_additionalText"
        }
    }
};
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.

示例:

// 通知Request对象
let notificationRequest = {
    notificationId: 1,
    content: {
        contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
        normal: {
            title: "test_title",
            text: "test_text",
            additionalText: "test_additionalText"
        }
    }
};
Notification.publish(notificationRequest).then(() => {
	console.info("publish success");
});

Notification.publish

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

发布通知给指定的用户(callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
request NotificationRequest 用于设置要发布通知的内容和相关配置信息。
userId number 用户ID。
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.
1600008 The user is not exist.
1600009 Over max number notifications per second.

示例:

// publish回调
function publishCallback(err) {
    if (err) {
        console.info("publish failed " + JSON.stringify(err));
    } else {
        console.info("publish success");
    }
}
// 用户ID
let userId = 1;
// 通知Request对象
let notificationRequest = {
    id: 1,
    content: {
        contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
        normal: {
            title: "test_title",
            text: "test_text",
            additionalText: "test_additionalText"
        }
    }
};
Notification.publish(notificationRequest, userId, publishCallback);

Notification.publish

publish(request: NotificationRequest, userId: number): Promise<void>

发布通知给指定的用户(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
request NotificationRequest 用于设置要发布通知的内容和相关配置信息。
userId number 用户ID。

错误码:

错误码详细介绍请参考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.
1600008 The user is not exist.
1600009 Over max number notifications per second.

示例:

let notificationRequest = {
    notificationId: 1,
    content: {
        contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
        normal: {
            title: "test_title",
            text: "test_text",
            additionalText: "test_additionalText"
        }
    }
};

let userId = 1;

Notification.publish(notificationRequest, userId).then(() => {
	console.info("publish success");
});

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.

示例:

// cancel回调
function cancelCallback(err) {
    if (err) {
        console.info("cancel failed " + JSON.stringify(err));
    } else {
        console.info("cancel success");
    }
}
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.

示例:

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

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.

示例:

// cancel回调
function cancelCallback(err) {
    if (err) {
        console.info("cancel failed " + JSON.stringify(err));
    } else {
        console.info("cancel success");
    }
}
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> 表示被指定的回调方法。

示例:

// cancel回调
function cancelAllCallback(err) {
    if (err) {
        console.info("cancelAll failed " + JSON.stringify(err));
    } else {
        console.info("cancelAll success");
    }
}
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.

示例:

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

Notification.addSlot

addSlot(slot: NotificationSlot, callback: AsyncCallback<void>): void

创建通知通道(callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
slot NotificationSlot 要创建的通知通道对象。
callback AsyncCallback<void> 表示被指定的回调方法。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

// addslot回调
function addSlotCallBack(err) {
    if (err) {
        console.info("addSlot failed " + JSON.stringify(err));
    } else {
        console.info("addSlot success");
    }
}
// 通知slot对象
let notificationSlot = {
    type: Notification.SlotType.SOCIAL_COMMUNICATION
};
Notification.addSlot(notificationSlot, addSlotCallBack);

Notification.addSlot

addSlot(slot: NotificationSlot): Promise<void>

创建通知通道(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
slot NotificationSlot 要创建的通知通道对象。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

// 通知slot对象
let notificationSlot = {
    type: Notification.SlotType.SOCIAL_COMMUNICATION
};
Notification.addSlot(notificationSlot).then(() => {
	console.info("addSlot success");
});

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.

示例:

// addslot回调
function addSlotCallBack(err) {
    if (err) {
        console.info("addSlot failed " + JSON.stringify(err));
    } else {
        console.info("addSlot success");
    }
}
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.

示例:

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

Notification.addSlots

addSlots(slots: Array<NotificationSlot>, callback: AsyncCallback<void>): void

创建多个通知通道(callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
slots Array<NotificationSlot> 要创建的通知通道对象数组。
callback AsyncCallback<void> 表示被指定的回调方法。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

// addSlots回调
function addSlotsCallBack(err) {
    if (err) {
        console.info("addSlots failed " + JSON.stringify(err));
    } else {
        console.info("addSlots success");
    }
}
// 通知slot对象
let notificationSlot = {
    type: Notification.SlotType.SOCIAL_COMMUNICATION
};
// 通知slot array 对象
let notificationSlotArray = new Array();
notificationSlotArray[0] = notificationSlot;

Notification.addSlots(notificationSlotArray, addSlotsCallBack);

Notification.addSlots

addSlots(slots: Array<NotificationSlot>): Promise<void>

创建多个通知通道(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
slots Array<NotificationSlot> 要创建的通知通道对象数组。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

// 通知slot对象
let notificationSlot = {
    type: Notification.SlotType.SOCIAL_COMMUNICATION
};
// 通知slot array 对象
let notificationSlotArray = new Array();
notificationSlotArray[0] = notificationSlot;

Notification.addSlots(notificationSlotArray).then(() => {
	console.info("addSlots success");
});

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.

示例:

// getSlot回调
function getSlotCallback(err,data) {
    if (err) {
        console.info("getSlot failed " + JSON.stringify(err));
    } else {
        console.info("getSlot success");
    }
}
let slotType = Notification.SlotType.SOCIAL_COMMUNICATION;
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.

示例:

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

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.

示例:

// getSlots回调
function getSlotsCallback(err,data) {
    if (err) {
        console.info("getSlots failed " + JSON.stringify(err));
    } else {
        console.info("getSlots success");
    }
}
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.

示例:

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

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.

示例:

// removeSlot回调
function removeSlotCallback(err) {
    if (err) {
        console.info("removeSlot failed " + JSON.stringify(err));
    } else {
        console.info("removeSlot success");
    }
}
let slotType = Notification.SlotType.SOCIAL_COMMUNICATION;
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.

示例:

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

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.

示例:

function removeAllCallBack(err) {
    if (err) {
        console.info("removeAllSlots failed " + JSON.stringify(err));
    } else {
        console.info("removeAllSlots success");
    }
}
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.

示例:

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

Notification.setNotificationEnable

setNotificationEnable(bundle: BundleOption, enable: boolean, callback: AsyncCallback<void>): void

设定指定应用的通知使能状态(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。
enable boolean 使能状态。
callback AsyncCallback<void> 设定通知使能回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

function setNotificationEnablenCallback(err) {
    if (err) {
        console.info("setNotificationEnablenCallback failed " + JSON.stringify(err));
    } else {
        console.info("setNotificationEnablenCallback success");
    }
}
let bundle = {
    bundle: "bundleName1",
};
Notification.setNotificationEnable(bundle, false, setNotificationEnablenCallback);

Notification.setNotificationEnable

setNotificationEnable(bundle: BundleOption, enable: boolean): Promise<void>

设定指定应用的通知使能状态(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。
enable boolean 使能状态。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

let bundle = {
    bundle: "bundleName1",
};
Notification.setNotificationEnable(bundle, false).then(() => {
	console.info("setNotificationEnable success");
});

Notification.isNotificationEnabled

isNotificationEnabled(bundle: BundleOption, callback: AsyncCallback<boolean>): void

获取指定应用的通知使能状态(Callback形式)。

系统能力:SystemCapability.Notification.Notification

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

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。
callback AsyncCallback<void> 获取通知使能状态回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

function isNotificationEnabledCallback(err, data) {
    if (err) {
        console.info("isNotificationEnabled failed " + JSON.stringify(err));
    } else {
        console.info("isNotificationEnabled success");
    }
}
let bundle = {
    bundle: "bundleName1",
};
Notification.isNotificationEnabled(bundle, isNotificationEnabledCallback);

Notification.isNotificationEnabled

isNotificationEnabled(bundle: BundleOption): Promise<boolean>

获取指定应用的通知使能状态(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。

返回值:

类型 说明
Promise<boolean> 以Promise形式返回获取指定应用的通知使能状态的结果。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

let bundle = {
    bundle: "bundleName1",
};
Notification.isNotificationEnabled(bundle).then((data) => {
	console.info("isNotificationEnabled success, data: " + JSON.stringify(data));
});

Notification.isNotificationEnabled

isNotificationEnabled(callback: AsyncCallback<boolean>): void

获取通知使能状态(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
callback AsyncCallback<void> 获取通知使能状态回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

function isNotificationEnabledCallback(err, data) {
    if (err) {
        console.info("isNotificationEnabled failed " + JSON.stringify(err));
    } else {
        console.info("isNotificationEnabled success");
    }
}

Notification.isNotificationEnabled(isNotificationEnabledCallback);

Notification.isNotificationEnabled

isNotificationEnabled(): Promise<boolean>

获取通知使能状态(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

返回值:

类型 说明
Promise<boolean> 以Promise形式返回获取通知使能状态的结果。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

notificationManager.isNotificationEnabled().then((data) => {
	console.info("isNotificationEnabled success, data: " + JSON.stringify(data));
});

notificationManager.isNotificationEnabled

isNotificationEnabled(userId: number, callback: AsyncCallback<boolean>): void

获取制定用户ID下的通知使能状态(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
userId number 指定的用户ID。
callback AsyncCallback<void> 获取通知使能状态回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600008 The user is not exist.

示例:

function isNotificationEnabledCallback(err, data) {
    if (err) {
        console.error(`isNotificationEnabled failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("isNotificationEnabled success");
    }
}

let userId = 1;

notificationManager.isNotificationEnabled(userId, isNotificationEnabledCallback);

notificationManager.isNotificationEnabled

isNotificationEnabled(userId: number): Promise<boolean>

获取制定用户下的通知使能状态(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
userId number 指定的用户ID。

返回值:

类型 说明
Promise<boolean> 以Promise形式返回获取通知使能状态的结果。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600008 The user is not exist..

示例:

let userId = 1;

notificationManager.isNotificationEnabled(userId).then((data) => {
	console.info("isNotificationEnabled success, data: " + JSON.stringify(data));
});

Notification.displayBadge

displayBadge(bundle: BundleOption, enable: boolean, callback: AsyncCallback<void>): void

设定指定应用的角标使能状态(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。
enable boolean 使能状态。
callback AsyncCallback<void> 设定角标使能回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

function displayBadgeCallback(err) {
    if (err) {
        console.info("displayBadge failed " + JSON.stringify(err));
    } else {
        console.info("displayBadge success");
    }
}
let bundle = {
    bundle: "bundleName1",
};
Notification.displayBadge(bundle, false, displayBadgeCallback);

Notification.displayBadge

displayBadge(bundle: BundleOption, enable: boolean): Promise<void>

设定指定应用的角标使能状态(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。
enable boolean 使能状态。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

let bundle = {
    bundle: "bundleName1",
};
Notification.displayBadge(bundle, false).then(() => {
	console.info("displayBadge success");
});

Notification.isBadgeDisplayed

isBadgeDisplayed(bundle: BundleOption, callback: AsyncCallback<boolean>): void

获取指定应用的角标使能状态(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。
callback AsyncCallback<void> 获取角标使能状态回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

function isBadgeDisplayedCallback(err, data) {
    if (err) {
        console.info("isBadgeDisplayed failed " + JSON.stringify(err));
    } else {
        console.info("isBadgeDisplayed success");
    }
}
let bundle = {
    bundle: "bundleName1",
};
Notification.isBadgeDisplayed(bundle, isBadgeDisplayedCallback);

Notification.isBadgeDisplayed

isBadgeDisplayed(bundle: BundleOption): Promise<boolean>

获取指定应用的角标使能状态(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。

返回值:

类型 说明
Promise<boolean> 以Promise形式返回获取指定应用的角标使能状态。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

let bundle = {
    bundle: "bundleName1",
};
Notification.isBadgeDisplayed(bundle).then((data) => {
	console.info("isBadgeDisplayed success, data: " + JSON.stringify(data));
});

notificationManager.setSlotByBundle

setSlotByBundle(bundle: BundleOption, slot: NotificationSlot, callback: AsyncCallback<void>): void

设定指定应用的通知通道(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。
slot NotificationSlot 通知通道。
callback AsyncCallback<void> 设定通知通道回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

function setSlotByBundleCallback(err) {
    if (err) {
        console.info("setSlotByBundle failed " + JSON.stringify(err));
    } else {
        console.info("setSlotByBundle success");
    }
}
let bundle = {
    bundle: "bundleName1",
};
let notificationSlot = {
    type: Notification.SlotType.SOCIAL_COMMUNICATION
};
Notification.setSlotByBundle(bundle, notificationSlot, setSlotByBundleCallback);

Notification.setSlotByBundle

setSlotByBundle(bundle: BundleOption, slot: NotificationSlot): Promise<void>

设定指定应用的通知通道(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。
slot NotificationSlot 通知通道。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

let bundle = {
    bundle: "bundleName1",
};
let notificationSlot = {
    type: Notification.SlotType.SOCIAL_COMMUNICATION
};
Notification.setSlotByBundle(bundle, notificationSlot).then(() => {
	console.info("setSlotByBundle success");
});

Notification.getSlotsByBundle

getSlotsByBundle(bundle: BundleOption, callback: AsyncCallback<Array<NotificationSlot>>): void

获取指定应用的所有通知通道(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。
callback AsyncCallback<Array<NotificationSlot>> 获取通知通道回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

function getSlotsByBundleCallback(err, data) {
    if (err) {
        console.info("getSlotsByBundle failed " + JSON.stringify(err));
    } else {
        console.info("getSlotsByBundle success");
    }
}
let bundle = {
    bundle: "bundleName1",
};
Notification.getSlotsByBundle(bundle, getSlotsByBundleCallback);

Notification.getSlotsByBundle

getSlotsByBundle(bundle: BundleOption): Promise<Array<NotificationSlot>>

获取指定应用的所有通知通道(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。

返回值:

类型 说明
Promise<Array<NotificationSlot>> 以Promise形式返回获取指定应用的通知通道。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

let bundle = {
    bundle: "bundleName1",
};
Notification.getSlotsByBundle(bundle).then((data) => {
	console.info("getSlotsByBundle success, data: " + JSON.stringify(data));
});

Notification.getSlotNumByBundle

getSlotNumByBundle(bundle: BundleOption, callback: AsyncCallback<number>): void

获取指定应用的通知通道数量(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。
callback AsyncCallback<number> 获取通知通道数量回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

function getSlotNumByBundleCallback(err, data) {
    if (err) {
        console.info("getSlotNumByBundle failed " + JSON.stringify(err));
    } else {
        console.info("getSlotNumByBundle success");
    }
}
let bundle = {
    bundle: "bundleName1",
};
Notification.getSlotNumByBundle(bundle, getSlotNumByBundleCallback);

Notification.getSlotNumByBundle

getSlotNumByBundle(bundle: BundleOption): Promise<number>

获取指定应用的通知通道数量(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 指定应用的包信息。

返回值:

类型 说明
Promise<number> 以Promise形式返回获取指定应用的通知通道数量。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

let bundle = {
    bundle: "bundleName1",
};
Notification.getSlotNumByBundle(bundle).then((data) => {
	console.info("getSlotNumByBundle success, data: " + JSON.stringify(data));
});

Notification.getAllActiveNotifications

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

获取当前未删除的所有通知(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
callback AsyncCallback<Array<NotificationRequest>> 获取活动通知回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

function getAllActiveNotificationsCallback(err, data) {
    if (err) {
        console.info("getAllActiveNotifications failed " + JSON.stringify(err));
    } else {
        console.info("getAllActiveNotifications success");
    }
}

Notification.getAllActiveNotifications(getAllActiveNotificationsCallback);

Notification.getAllActiveNotifications

getAllActiveNotifications(): Promise<Array<NotificationRequest>>

获取当前未删除的所有通知(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

返回值:

类型 说明
Promise<Array<NotificationRequest>> 以Promise形式返回获取活动通知。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

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

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.

示例:

function getActiveNotificationCountCallback(err, data) {
    if (err) {
        console.info("getActiveNotificationCount failed " + JSON.stringify(err));
    } else {
        console.info("getActiveNotificationCount success");
    }
}

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.

示例:

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

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.

示例:

function getActiveNotificationsCallback(err, data) {
    if (err) {
        console.info("getActiveNotifications failed " + JSON.stringify(err));
    } else {
        console.info("getActiveNotifications success");
    }
}

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.

示例:

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

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.

示例:

function cancelGroupCallback(err) {
    if (err) {
        console.info("cancelGroup failed " + JSON.stringify(err));
    } else {
        console.info("cancelGroup success");
    }
}

let groupName = "GroupName";

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.

示例:

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

Notification.removeGroupByBundle

removeGroupByBundle(bundle: BundleOption, groupName: string, callback: AsyncCallback<void>): void

删除指定应用的指定组下的通知(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 应用的包信息。
groupName string 通知组名称。
callback AsyncCallback<void> 删除指定应用指定组下通知的回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

function removeGroupByBundleCallback(err) {
    if (err) {
        console.info("removeGroupByBundle failed " + JSON.stringify(err));
    } else {
        console.info("removeGroupByBundle success");
    }
}

let bundleOption = {bundle: "Bundle"};
let groupName = "GroupName";

Notification.removeGroupByBundle(bundleOption, groupName, removeGroupByBundleCallback);

Notification.removeGroupByBundle

removeGroupByBundle(bundle: BundleOption, groupName: string): Promise<void>

删除指定应用的指定组下的通知(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 应用的包信息。
groupName string 通知组名称。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

let bundleOption = {bundle: "Bundle"};
let groupName = "GroupName";
Notification.removeGroupByBundle(bundleOption, groupName).then(() => {
	console.info("removeGroupByBundle success");
});

Notification.setDoNotDisturbDate

setDoNotDisturbDate(date: DoNotDisturbDate, callback: AsyncCallback<void>): void

设置免打扰时间(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
date DoNotDisturbDate 免打扰时间选项。
callback AsyncCallback<void> 设置免打扰时间回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

function setDoNotDisturbDateCallback(err) {
    if (err) {
        console.info("setDoNotDisturbDate failed " + JSON.stringify(err));
    } else {
        console.info("setDoNotDisturbDate success");
    }
}

let doNotDisturbDate = {
    type: Notification.DoNotDisturbType.TYPE_ONCE,
    begin: new Date(),
    end: new Date(2021, 11, 15, 18, 0)
};

Notification.setDoNotDisturbDate(doNotDisturbDate, setDoNotDisturbDateCallback);

Notification.setDoNotDisturbDate

setDoNotDisturbDate(date: DoNotDisturbDate): Promise<void>

设置免打扰时间(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
date DoNotDisturbDate 免打扰时间选项。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

let doNotDisturbDate = {
    type: Notification.DoNotDisturbType.TYPE_ONCE,
    begin: new Date(),
    end: new Date(2021, 11, 15, 18, 0)
};
Notification.setDoNotDisturbDate(doNotDisturbDate).then(() => {
	console.info("setDoNotDisturbDate success");
});

Notification.setDoNotDisturbDate

setDoNotDisturbDate(date: DoNotDisturbDate, userId: number, callback: AsyncCallback<void>): void

指定用户设置免打扰时间(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
date DoNotDisturbDate 免打扰时间选项。
userId number 设置免打扰时间的用户ID。
callback AsyncCallback<void> 设置免打扰时间回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600008 The user is not exist.

示例:

function setDoNotDisturbDateCallback(err) {
    if (err) {
        console.info("setDoNotDisturbDate failed " + JSON.stringify(err));
    } else {
        console.info("setDoNotDisturbDate success");
    }
}

let doNotDisturbDate = {
    type: Notification.DoNotDisturbType.TYPE_ONCE,
    begin: new Date(),
    end: new Date(2021, 11, 15, 18, 0)
};

let userId = 1;

Notification.setDoNotDisturbDate(doNotDisturbDate, userId, setDoNotDisturbDateCallback);

Notification.setDoNotDisturbDate

setDoNotDisturbDate(date: DoNotDisturbDate, userId: number): Promise<void>

指定用户设置免打扰时间(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
date DoNotDisturbDate 免打扰时间选项。
userId number 设置免打扰时间的用户ID。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600008 The user is not exist.

示例:

let doNotDisturbDate = {
    type: Notification.DoNotDisturbType.TYPE_ONCE,
    begin: new Date(),
    end: new Date(2021, 11, 15, 18, 0)
};

let userId = 1;

Notification.setDoNotDisturbDate(doNotDisturbDate, userId).then(() => {
	console.info("setDoNotDisturbDate success");
});

Notification.getDoNotDisturbDate

getDoNotDisturbDate(callback: AsyncCallback<DoNotDisturbDate>): void

查询免打扰时间(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
callback AsyncCallback<DoNotDisturbDate> 查询免打扰时间回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

function getDoNotDisturbDateCallback(err,data) {
    if (err) {
        console.info("getDoNotDisturbDate failed " + JSON.stringify(err));
    } else {
        console.info("getDoNotDisturbDate success");
    }
}

Notification.getDoNotDisturbDate(getDoNotDisturbDateCallback);

Notification.getDoNotDisturbDate

getDoNotDisturbDate(): Promise<DoNotDisturbDate>

查询免打扰时间(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

返回值:

类型 说明
Promise<DoNotDisturbDate> 以Promise形式返回获取查询到的免打扰时间。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

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

Notification.getDoNotDisturbDate

getDoNotDisturbDate(userId: number, callback: AsyncCallback<DoNotDisturbDate>): void

查询指定用户的免打扰时间(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
callback AsyncCallback<DoNotDisturbDate> 查询免打扰时间回调函数。
userId number 用户ID。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600008 The user is not exist.

示例:

function getDoNotDisturbDateCallback(err,data) {
    if (err) {
        console.info("getDoNotDisturbDate failed " + JSON.stringify(err));
    } else {
        console.info("getDoNotDisturbDate success");
    }
}

let userId = 1;

Notification.getDoNotDisturbDate(userId, getDoNotDisturbDateCallback);

Notification.getDoNotDisturbDate

getDoNotDisturbDate(userId: number): Promise<DoNotDisturbDate>

查询指定用户的免打扰时间(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
userId number 用户ID。

返回值:

类型 说明
Promise<DoNotDisturbDate> 以Promise形式返回获取查询到的免打扰时间。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600008 The user is not exist.

示例:

let userId = 1;

Notification.getDoNotDisturbDate(userId).then((data) => {
	console.info("getDoNotDisturbDate success, data: " + JSON.stringify(data));
});

Notification.isSupportDoNotDisturbMode

isSupportDoNotDisturbMode(callback: AsyncCallback<boolean>): void

查询是否支持免打扰功能(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
callback AsyncCallback<boolean> 查询是否支持免打扰功能回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

function isSupportDoNotDisturbModeCallback(err,data) {
    if (err) {
        console.info("isSupportDoNotDisturbMode failed " + JSON.stringify(err));
    } else {
        console.info("isSupportDoNotDisturbMode success");
    }
}

Notification.isSupportDoNotDisturbMode(supportDoNotDisturbModeCallback);

Notification.isSupportDoNotDisturbMode

isSupportDoNotDisturbMode(): Promise<boolean>

查询是否支持勿扰模式功能(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

返回值:

类型 说明
Promise<boolean> 以Promise形式返回获取是否支持免打扰功能的结果。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

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

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.

示例:

let templateName = 'process';
function isSupportTemplateCallback(err, data) {
    if (err) {
        console.info("isSupportTemplate failed " + JSON.stringify(err));
    } else {
        console.info("isSupportTemplate success");
    }
}

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.

示例:

let templateName = 'process';

Notification.isSupportTemplate(templateName).then((data) => {
    console.info("isSupportTemplate success, data: " + JSON.stringify(data));
});

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.

示例:

function requestEnableNotificationCallback(err) {
    if (err) {
        console.info("requestEnableNotification failed " + JSON.stringify(err));
    } else {
        console.info("requestEnableNotification success");
    }
};

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.

示例:

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

Notification.setDistributedEnable

setDistributedEnable(enable: boolean, callback: AsyncCallback<void>): void

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

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
enable boolean 是否支持。
callback AsyncCallback<void> 设置设备是否支持分布式通知的回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600010 Distributed operation failed.

示例:

function setDistributedEnableCallback(err) {
    if (err) {
        console.info("setDistributedEnable failed " + JSON.stringify(err));
    } else {
        console.info("setDistributedEnable success");
    }
};

let enable = true;

Notification.setDistributedEnable(enable, setDistributedEnableCallback);

Notification.setDistributedEnable

setDistributedEnable(enable: boolean): Promise<void>

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

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
enable boolean 是否支持。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600010 Distributed operation failed.

示例:

let enable = true;

Notification.setDistributedEnable(enable).then(() => {
        console.info("setDistributedEnable success");
    });

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.

示例:

function isDistributedEnabledCallback(err, data) {
    if (err) {
        console.info("isDistributedEnabled failed " + JSON.stringify(err));
    } else {
        console.info("isDistributedEnabled success " + JSON.stringify(data));
    }
};

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.

示例:

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

Notification.setDistributedEnableByBundle

setDistributedEnableByBundle(bundle: BundleOption, enable: boolean, callback: AsyncCallback<void>): void

设置指定应用是否支持分布式通知(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 应用的包信息。
enable boolean 是否支持。
callback AsyncCallback<void> 应用程序是否支持分布式通知的回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600010 Distributed operation failed.
17700001 The specified bundle name was not found.

示例:

function setDistributedEnableByBundleCallback(err) {
    if (err) {
        console.info("enableDistributedByBundle failed " + JSON.stringify(err));
    } else {
        console.info("enableDistributedByBundle success");
    }
};

let bundle = {
    bundle: "bundleName1",
};

let enable = true

Notification.setDistributedEnableByBundle(bundle, enable, setDistributedEnableByBundleCallback);

Notification.setDistributedEnableByBundle

setDistributedEnableByBundle(bundle: BundleOption, enable: boolean): Promise<void>

设置指定应用是否支持分布式通知(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 应用的包。
enable boolean 是否支持。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600010 Distributed operation failed.
17700001 The specified bundle name was not found.

示例:

let bundle = {
    bundle: "bundleName1",
};

let enable = true

Notification.setDistributedEnableByBundle(bundle, enable).then(() => {
        console.info("setDistributedEnableByBundle success");
    });

Notification.isDistributedEnabledByBundle

isDistributedEnabledByBundle(bundle: BundleOption, callback: AsyncCallback<boolean>): void

根据应用的包获取应用程序是否支持分布式通知(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 应用的包。
callback AsyncCallback<boolean> 查询指定应用是否支持分布式通知的回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600010 Distributed operation failed.
17700001 The specified bundle name was not found.

示例:

function isDistributedEnabledByBundleCallback(err, data) {
    if (err) {
        console.info("isDistributedEnabledByBundle failed " + JSON.stringify(err));
    } else {
        console.info("isDistributedEnabledByBundle success" + JSON.stringify(data));
    }
};

let bundle = {
    bundle: "bundleName1",
};

Notification.isDistributedEnabledByBundle(bundle, isDistributedEnabledByBundleCallback);

Notification.isDistributedEnabledByBundle

isDistributedEnabledByBundle(bundle: BundleOption): Promise<boolean>

查询指定应用是否支持分布式通知(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
bundle BundleOption 应用的包。

返回值:

类型 说明
Promise<boolean> Promise方式返回指定应用是否支持分布式通知的结果。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600010 Distributed operation failed.
17700001 The specified bundle name was not found.

示例:

let bundle = {
    bundle: "bundleName1",
};

Notification.isDistributedEnabledByBundle(bundle).then((data) => {
    console.info("isDistributedEnabledByBundle success, data: " + JSON.stringify(data));
});

Notification.getDeviceRemindType

getDeviceRemindType(callback: AsyncCallback<DeviceRemindType>): void

获取通知的提醒方式(Callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

参数:

参数名 类型 必填 说明
callback AsyncCallback<DeviceRemindType> 获取通知提醒方式的回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

function getDeviceRemindTypeCallback(err, data) {
    if (err) {
        console.info("getDeviceRemindType failed " + JSON.stringify(err));
    } else {
        console.info("getDeviceRemindType success");
    }
};

Notification.getDeviceRemindType(getDeviceRemindTypeCallback);

Notification.getDeviceRemindType

getDeviceRemindType(): Promise<DeviceRemindType>

获取通知的提醒方式(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER

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

返回值:

类型 说明
Promise<DeviceRemindType> Promise方式返回获取通知提醒方式的结果。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.

示例:

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

Notification.publishAsBundle

publishAsBundle(request: NotificationRequest, representativeBundle: string, userId: number, callback: AsyncCallback<void>): void

发布代理通知(callback形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER,ohos.permission.NOTIFICATION_AGENT_CONTROLLER

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

参数:

参数名 类型 必填 说明
request NotificationRequest 用于设置要发布通知的内容和相关配置信息。
representativeBundle string 被代理应用的包名。
userId number 用户ID。
callback AsyncCallback 发布代理通知的回调方法。

错误码:

错误码详细介绍请参考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.
1600008 The user is not exist.
1600009 Over max number notifications per second.

示例:

//publishAsBundle回调
function callback(err) {
    if (err) {
        console.info("publishAsBundle failed " + JSON.stringify(err));
    } else {
        console.info("publishAsBundle success");
    }
}
// 被代理应用的包名
let representativeBundle = "com.example.demo";
// 用户ID
let userId = 100;
// NotificationRequest对象
let request = {
    id: 1,
    content: {
        contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
        normal: {
            title: "test_title",
            text: "test_text",
            additionalText: "test_additionalText"
        }
    }
};

Notification.publishAsBundle(request, representativeBundle, userId, callback);

Notification.publishAsBundle

publishAsBundle(request: NotificationRequest, representativeBundle: string, userId: number): Promise<void>

发布代理通知(Promise形式)。

系统能力:SystemCapability.Notification.Notification

需要权限: ohos.permission.NOTIFICATION_CONTROLLER,ohos.permission.NOTIFICATION_AGENT_CONTROLLER

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

参数:

参数名 类型 必填 说明
request NotificationRequest 用于设置要发布通知的内容和相关配置信息。
representativeBundle string 被代理应用的包名。
userId number 用户ID。

错误码:

错误码详细介绍请参考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.
1600008 The user is not exist.
1600009 Over max number notifications per second.

示例:

// 被代理应用的包名
let representativeBundle = "com.example.demo";
// 用户ID
let userId = 100;
// NotificationRequest对象
let request = {
    id: 1,
    content: {
        contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
        normal: {
            title: "test_title",
            text: "test_text",
            additionalText: "test_additionalText"
        }
    }
};

Notification.publishAsBundle(request, representativeBundle, userId).then(() => {
	console.info("publishAsBundle success");
});

Notification.cancelAsBundle

cancelAsBundle(id: number, representativeBundle: string, userId: number, callback: AsyncCallback<void>): void

取消代理通知(callback形式)。

系统能力:SystemCapability.Notification.Notification

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

需要权限: ohos.permission.NOTIFICATION_CONTROLLER,ohos.permission.NOTIFICATION_AGENT_CONTROLLER

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

参数:

参数名 类型 必填 说明
id number 通知ID。
representativeBundle string 被代理应用的包名。
userId number 用户ID。
callback AsyncCallback 取消代理通知的回调方法。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600007 The notification is not exist.
1600008 The user is not exist.

示例:

// cancelAsBundle
function cancelAsBundleCallback(err) {
    if (err) {
        console.info("cancelAsBundle failed " + JSON.stringify(err));
    } else {
        console.info("cancelAsBundle success");
    }
}
// 被代理应用的包名
let representativeBundle = "com.example.demo";
// 用户ID
let userId = 100;

Notification.cancelAsBundle(0, representativeBundle, userId, cancelAsBundleCallback);

Notification.cancelAsBundle

cancelAsBundle(id: number, representativeBundle: string, userId: number): Promise<void>

取消代理通知(Promise形式)。

系统能力:SystemCapability.Notification.Notification

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

需要权限: ohos.permission.NOTIFICATION_CONTROLLER,ohos.permission.NOTIFICATION_AGENT_CONTROLLER

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

参数:

参数名 类型 必填 说明
id number 通知ID。
representativeBundle string 被代理应用的包名。
userId number 用户ID。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600007 The notification is not exist.
1600008 The user is not exist.

示例:

// 被代理应用的包名
let representativeBundle = "com.example.demo";
// 用户ID
let userId = 100;

Notification.cancelAsBundle(0, representativeBundle, userId).then(() => {
	console.info("cancelAsBundle success");
});

Notification.setNotificationEnableSlot

setNotificationEnableSlot(bundle: BundleOption, type: SlotType, enable: boolean, callback: AsyncCallback<void>): void

设置指定应用的指定渠道类型的使能状态(Callback形式)。

系统能力:SystemCapability.Notification.Notification

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

需要权限:ohos.permission.NOTIFICATION_CONTROLLER

参数:

参数名 类型 必填 说明
bundle BundleOption 应用的包信息。
type SlotType 指定渠道类型。
enable boolean 使能状态。
callback AsyncCallback<void> 设置渠道使能回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

// setNotificationEnableSlot
function setNotificationEnableSlotCallback(err) {
    if (err) {
        console.info("setNotificationEnableSlot failed " + JSON.stringify(err));
    } else {
        console.info("setNotificationEnableSlot success");
    }
};

Notification.setNotificationEnableSlot(
    { bundle: "ohos.samples.notification", },
    Notification.SlotType.SOCIAL_COMMUNICATION,
    true,
    setNotificationEnableSlotCallback);

Notification.setNotificationEnableSlot

setNotificationEnableSlot(bundle: BundleOption, type: SlotType, enable: boolean): Promise<void>

设置指定应用的指定渠道类型的使能状态(Promise形式)。

系统能力:SystemCapability.Notification.Notification

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

需要权限:ohos.permission.NOTIFICATION_CONTROLLER

参数:

参数名 类型 必填 说明
bundle BundleOption 应用的包信息。
type SlotType 渠道类型。
enable boolean 使能状态。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

// setNotificationEnableSlot
Notification.setNotificationEnableSlot(
    { bundle: "ohos.samples.notification", },
    Notification.SlotType.SOCIAL_COMMUNICATION,
    true).then(() => {
        console.info("setNotificationEnableSlot success");
    });

Notification.isNotificationSlotEnabled

isNotificationSlotEnabled(bundle: BundleOption, type: SlotType, callback: AsyncCallback<boolean>): void

获取指定应用的指定渠道类型的使能状态(Callback形式)。

系统能力:SystemCapability.Notification.Notification

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

需要权限:ohos.permission.NOTIFICATION_CONTROLLER

参数:

参数名 类型 必填 说明
bundle BundleOption 应用的包信息。
type SlotType 渠道类型。
callback AsyncCallback<boolean> 获取渠道使能状态回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

// isNotificationSlotEnabled
function getEnableSlotCallback(err, data) {
    if (err) {
        console.info("isNotificationSlotEnabled failed " + JSON.stringify(err));
    } else {
        console.info("isNotificationSlotEnabled success");
    }
};

Notification.isNotificationSlotEnabled(
    { bundle: "ohos.samples.notification", },
    Notification.SlotType.SOCIAL_COMMUNICATION,
    getEnableSlotCallback);

Notification.isNotificationSlotEnabled

isNotificationSlotEnabled(bundle: BundleOption, type: SlotType): Promise<boolean>

获取指定应用的指定渠道类型的使能状态(Promise形式)。

系统能力:SystemCapability.Notification.Notification

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

需要权限:ohos.permission.NOTIFICATION_CONTROLLER

参数:

参数名 类型 必填 说明
bundle BundleOption 应用的包信息。
type SlotType 渠道类型。

返回值:

类型 说明
Promise<boolean> 以Promise形式返回指定类型的渠道使能状态。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
17700001 The specified bundle name was not found.

示例:

// isNotificationSlotEnabled
Notification.isNotificationSlotEnabled({ bundle: "ohos.samples.notification", },
    Notification.SlotType.SOCIAL_COMMUNICATION).then((data) => {
    console.info("isNotificationSlotEnabled success, data: " + JSON.stringify(data));
});

Notification.setSyncNotificationEnabledWithoutApp

setSyncNotificationEnabledWithoutApp(userId: number, enable: boolean, callback: AsyncCallback<void>): void

设置是否将通知同步到未安装应用程序的设备(callback形式)。

系统能力:SystemCapability.Notification.Notification

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

需要权限:ohos.permission.NOTIFICATION_CONTROLLER

参数:

参数名 类型 必填 说明
userId number 用户ID。
enable boolean 是否启用。
callback AsyncCallback<void> 设置是否将通知同步到未安装应用程序的设备的回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600008 The user is not exist.

示例:

let userId = 100;
let enable = true;

function callback(err) {
    if (err) {
        console.info("setSyncNotificationEnabledWithoutApp failed " + JSON.stringify(err));
    } else {
        console.info("setSyncNotificationEnabledWithoutApp success");
    }
}

Notification.setSyncNotificationEnabledWithoutApp(userId, enable, callback);

Notification.setSyncNotificationEnabledWithoutApp

setSyncNotificationEnabledWithoutApp(userId: number, enable: boolean): Promise<void>

设置是否将通知同步到未安装应用程序的设备(Promise形式)。

系统能力:SystemCapability.Notification.Notification

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

需要权限:ohos.permission.NOTIFICATION_CONTROLLER

参数:

参数名 类型 必填 说明
userId number 用户ID。
enable boolean 是否启用。

返回值:

类型 说明
Promise<void> 以Promise形式返回设置是否将通知同步到未安装应用程序的设备的结果。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600008 The user is not exist.

示例:

let userId = 100;
let enable = true;

Notification.setSyncNotificationEnabledWithoutApp(userId, enable).then(() => {
    console.info('setSyncNotificationEnabledWithoutApp success');
}).catch((err) => {
    console.info('setSyncNotificationEnabledWithoutApp, err:' + JSON.stringify(err));
});

Notification.getSyncNotificationEnabledWithoutApp

getSyncNotificationEnabledWithoutApp(userId: number, callback: AsyncCallback<boolean>): void

获取同步通知到未安装应用程序设备的开关是否开启(callback形式)。

系统能力:SystemCapability.Notification.Notification

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

需要权限:ohos.permission.NOTIFICATION_CONTROLLER

参数:

参数名 类型 必填 说明
userId number 用户ID。
callback AsyncCallback<boolean> 获取同步通知到未安装应用程序设备的开关是否开启的回调函数。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600008 The user is not exist.

示例:

let userId = 100;

function getSyncNotificationEnabledWithoutAppCallback(err, data) {
    if (err) {
        console.info('getSyncNotificationEnabledWithoutAppCallback, err:' + err);
    } else {
        console.info('getSyncNotificationEnabledWithoutAppCallback, data:' + data);
    }
}

Notification.getSyncNotificationEnabledWithoutApp(userId, getSyncNotificationEnabledWithoutAppCallback);

Notification.getSyncNotificationEnabledWithoutApp

getSyncNotificationEnabledWithoutApp(userId: number): Promise<boolean>

获取同步通知到未安装应用程序设备的开关是否开启(Promise形式)。

系统能力:SystemCapability.Notification.Notification

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

需要权限:ohos.permission.NOTIFICATION_CONTROLLER

参数:

参数名 类型 必填 说明
userId number 用户ID。

返回值:

类型 说明
Promise<boolean> 以Promise形式返回获取同步通知到未安装应用程序设备的开关是否开启的结果。

错误码:

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

错误码ID 错误信息
1600001 Internal error.
1600002 Marshalling or unmarshalling error.
1600003 Failed to connect service.
1600008 The user is not exist.

示例:

let userId = 100;
Notification.getSyncNotificationEnabledWithoutApp(userId).then((data) => {
    console.info('getSyncNotificationEnabledWithoutApp, data:' + data);
}).catch((err) => {
    console.info('getSyncNotificationEnabledWithoutApp, err:' + err);
});
    .catch((err) => {
        console.info('getSyncNotificationEnabledWithoutApp, err:', err);
    });

DoNotDisturbDate

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

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

名称 类型 可读 可写 说明
type DoNotDisturbType 免打扰设置的时间类型。
begin Date 免打扰设置的起点时间。
end Date 免打扰设置的终点时间。

DoNotDisturbType

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

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

名称 说明
TYPE_NONE 0 非通知勿扰类型。
TYPE_ONCE 1 以设置时间段(只看小时和分钟)一次执行勿扰。
TYPE_DAILY 2 以设置时间段(只看小时和分钟)每天执行勿扰。
TYPE_CLEARLY 3 以设置时间段(明确年月日时分)执行勿扰。

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 多行文本类型通知。

SlotLevel

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

名称 说明
LEVEL_NONE 0 表示关闭通知功能。
LEVEL_MIN 1 表示通知功能已启用,但状态栏中不显示通知图标,且没有横幅或提示音。
LEVEL_LOW 2 表示通知功能已启用,且状态栏中显示通知图标,但没有横幅或提示音。
LEVEL_DEFAULT 3 表示通知功能已启用,状态栏中显示通知图标,没有横幅但有提示音。
LEVEL_HIGH 4 表示通知功能已启用,状态栏中显示通知图标,有横幅和提示音。

SlotType

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

名称 说明
UNKNOWN_TYPE 0 未知类型。
SOCIAL_COMMUNICATION 1 社交类型。
SERVICE_INFORMATION 2 服务类型。
CONTENT_INFORMATION 3 内容类型。
OTHER_TYPES 0xFFFF 其他类型。

DeviceRemindType

系统能力:SystemCapability.Notification.Notification

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

名称 说明
IDLE_DONOT_REMIND 0 设备未被使用,无需提醒。
IDLE_REMIND 1 提醒设备未被使用。
ACTIVE_DONOT_REMIND 2 设备正在使用,无需提醒。
ACTIVE_REMIND 3 提醒设备正在使用。

SourceType

系统能力:SystemCapability.Notification.Notification

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

名称 说明
TYPE_NORMAL 0 一般通知。
TYPE_CONTINUOUS 1 连续通知。
TYPE_TIMER 2 计划通知。