CommonEventSubscriber

说明:

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

使用说明

在使用CommonEventSubscriber的功能前,需要通过CommonEvent.createSubscriber获取subscriber对象。

import CommonEvent from '@ohos.commonEvent';
let subscriber; // 用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作

// 订阅者信息
let subscribeInfo = {
	events: ["event"]
};

// 创建订阅者回调
function createCB(err, commonEventSubscriber) {
    if (err.code) {
        console.error(`createSubscriber failed, code is ${err.code}`);
    } else {
        console.info("createSubscriber");
        subscriber = commonEventSubscriber;
    }
}

// 创建订阅者
CommonEvent.createSubscriber(subscribeInfo, createCB);

getCode

getCode(callback: AsyncCallback<number>): void

以回调形式获取公共事件代码。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
callback AsyncCallback<number> 公共事件代码。

示例:

//获取有序公共事件代码回调
function getCodeCB(err, code) {
    if (err.code) {
        console.error(`getCode failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("getCode " + JSON.stringify(code));
    }
}
subscriber.getCode(getCodeCB);

getCode

getCode(): Promise<number>

以Promise形式获取公共事件代码。

系统能力SystemCapability.Notification.CommonEvent

返回值:

类型 说明
Promise<number> 公共事件代码。

示例:

subscriber.getCode().then((code) => {
    console.info("getCode " + JSON.stringify(code));
}).catch((err) => {
    console.error(`getCode failed, code is ${err.code}, message is ${err.message}`);
});

setCode

setCode(code: number, callback: AsyncCallback<void>): void

以回调形式设置公共事件的代码。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
code number 公共事件的代码。
callback AsyncCallback<void> 表示被指定的回调方法。

示例:

//设置有序公共事件的代码回调
function setCodeCB(err) {
    if (err.code) {
        console.error(`setCode failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("setCode");
    }
}
subscriber.setCode(1, setCodeCB);

setCode

setCode(code: number): Promise<void>

以Promise形式设置公共事件的代码。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
code number 公共事件的代码。

返回值:

类型 说明
Promise<void> 返回一个Promise的结果。

示例:

subscriber.setCode(1).then(() => {
    console.info("setCode");
}).catch((err) => {
    console.error(`setCode failed, code is ${err.code}, message is ${err.message}`);
});

getData

getData(callback: AsyncCallback<string>): void

以回调形式获取公共事件的数据。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
callback AsyncCallback<string> 公共事件的数据。

示例:

//获取有序公共事件代码数据回调
function getDataCB(err, data) {
    if (err.code) {
        console.error(`getData failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("getData " + JSON.stringify(data));
    }
}
subscriber.getData(getDataCB);

getData

getData(): Promise<string>

以Promise形式获取公共事件的数据。

系统能力SystemCapability.Notification.CommonEvent

返回值:

类型 说明
Promise<string> 公共事件的数据。

示例:

subscriber.getData().then((data) => {
    console.info("getData " + JSON.stringify(data));
}).catch((err) => {
    console.error(`getData failed, code is ${err.code}, message is ${err.message}`);
});

setData

setData(data: string, callback: AsyncCallback<void>): void

以回调形式设置公共事件的数据。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
data string 公共事件的数据。
callback AsyncCallback<void> 表示被指定的回调方法。

示例:

//设置有序公共事件的结果数据回调
function setDataCB(err) {
    if (err.code) {
        console.error(`setCode failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("setData");
    }
}
subscriber.setData("publish_data_changed", setDataCB);

setData

setData(data: string): Promise<void>

以Promise形式设置公共事件的果数据。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
data string 公共事件的数据。

返回值:

类型 说明
Promise<void> 返回一个Promise的结果。

示例:

subscriber.setData("publish_data_changed").then(() => {
    console.info("setData");
}).catch((err) => {
    console.error(`setCode failed, code is ${err.code}, message is ${err.message}`);
});

setCodeAndData

setCodeAndData(code: number, data: string, callback:AsyncCallback<void>): void

以回调形式设置公共事件代码和数据。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
code number 公共事件的代码。
data string 公共事件的数据。
callback AsyncCallback<void> 表示被指定的回调方法。

示例:

//设置有序公共事件的代码和数据回调
function setCodeDataCB(err) {
    if (err.code) {
        console.error(`setCodeAndData failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("setCodeDataCallback");
    }
}
subscriber.setCodeAndData(1, "publish_data_changed", setCodeDataCB);

setCodeAndData

setCodeAndData(code: number, data: string): Promise<void>

以Promise形式设置公共事件的代码和数据。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
code number 公共事件的代码。
data string 公共事件的数据。

返回值:

类型 说明
Promise<void> 返回一个Promise。

示例:

subscriber.setCodeAndData(1, "publish_data_changed").then(() => {
    console.info("setCodeAndData");
}).catch((err) => {
    console.error(`setCodeAndData failed, code is ${err.code}, message is ${err.message}`);
});

isOrderedCommonEvent

isOrderedCommonEvent(callback: AsyncCallback<boolean>): void

以回调形式查询当前公共事件的是否为有序公共事件。

返回true代表是有序公共事件,false代表不是有序公共事件。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
callback AsyncCallback<boolean> 当前公共事件的是否为有序公共事件。

示例:

//获取当前公共事件是否为有序事件的回调
function isOrderedCB(err, isOrdered) {
    if (err.code) {
        console.error(`isOrderedCommonEvent failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("isOrdered " + JSON.stringify(isOrdered));
    }
}
subscriber.isOrderedCommonEvent(isOrderedCB);

isOrderedCommonEvent

isOrderedCommonEvent(): Promise<boolean>

以Promise形式查询当前公共事件的是否为有序公共事件。

返回true代表是有序公共事件,false代表不是有序公共事件。

系统能力SystemCapability.Notification.CommonEvent

返回值:

类型 说明
Promise<boolean> 当前公共事件的是否为有序公共事件。

示例:

subscriber.isOrderedCommonEvent().then((isOrdered) => {
    console.info("isOrdered " + JSON.stringify(isOrdered));
}).catch((err) => {
    console.error(`isOrdered failed, code is ${err.code}, message is ${err.message}`);
});

isStickyCommonEvent

isStickyCommonEvent(callback: AsyncCallback<boolean>): void

以回调形式检查当前公共事件是否为一个粘性事件。

返回true代表是粘性公共事件,false代表不是粘性公共事件。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
callback AsyncCallback<boolean> 当前公共事件的是否为粘性公共事件。

示例:

//获取当前公共事件是否为粘性事件的回调
function isStickyCB(err, isSticky) {
    if (err.code) {
        console.error(`isStickyCommonEvent failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("isSticky " + JSON.stringify(isSticky));
    }
}
subscriber.isStickyCommonEvent(isStickyCB);

isStickyCommonEvent

isStickyCommonEvent(): Promise<boolean>

以Promise形式检查当前公共事件是否为一个粘性事件。

返回true代表是粘性公共事件,false代表不是粘性公共事件。

系统能力SystemCapability.Notification.CommonEvent

返回值:

类型 说明
Promise<boolean> 当前公共事件的是否为粘性公共事件。

示例:

subscriber.isStickyCommonEvent().then((isSticky) => {
    console.info("isSticky " + JSON.stringify(isSticky));
}).catch((err) => {
    console.error(`isSticky failed, code is ${err.code}, message is ${err.message}`);
});

abortCommonEvent

abortCommonEvent(callback: AsyncCallback<void>): void

以回调形式取消当前的有序公共事件,取消后,有序公共事件不再向下一个订阅者传递。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
callback AsyncCallback<void> 取消当前的有序公共事件。

示例:

//取消当前有序公共事件的回调
function abortCB(err) {
    if (err.code) {
		console.error(`abortCommonEvent failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("abortCommonEvent");
    }
}
subscriber.abortCommonEvent(abortCB);

abortCommonEvent

abortCommonEvent(): Promise<void>

以Promise形式取消当前的有序公共事件,取消后,公共事件不再向下一个订阅者传递。

系统能力SystemCapability.Notification.CommonEvent

返回值:

类型 说明
Promise<void> 返回一个Promise的结果。

示例:

subscriber.abortCommonEvent().then(() => {
    console.info("abortCommonEvent");
}).catch((err) => {
    console.error(`abortCommonEvent failed, code is ${err.code}, message is ${err.message}`);
});

clearAbortCommonEvent

clearAbortCommonEvent(callback: AsyncCallback<void>): void

以回调形式清除当前有序公共事件。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
callback AsyncCallback<void> 表示被指定的回调方法。

示例:

//清除当前公共事件取消状态的回调
function clearAbortCB(err) {
    if (err.code) {
        console.error(`clearAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("clearAbortCommonEvent");
    }
}
subscriber.clearAbortCommonEvent(clearAbortCB);

clearAbortCommonEvent

clearAbortCommonEvent(): Promise<void>

以Promise形式清除当前有序公共事件。

系统能力SystemCapability.Notification.CommonEvent

返回值:

类型 说明
Promise<void> 返回一个Promise的结果。

示例:

subscriber.clearAbortCommonEvent().then(() => {
    console.info("clearAbortCommonEvent");
}).catch((err) => {
    console.error(`clearAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`);
});

getAbortCommonEvent

getAbortCommonEvent(callback: AsyncCallback<boolean>): void

以回调形式获取当前有序公共事件是否取消的状态。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
callback AsyncCallback<boolean> 表示当前有序公共事件是否取消的状态。

示例:

//获取当前有序公共事件是否取消的回调
function getAbortCB(err, abortEvent) {
    if (err.code) {
        console.error(`getAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("abortCommonEvent " + abortEvent)
    }
}
subscriber.getAbortCommonEvent(getAbortCB);

getAbortCommonEvent

getAbortCommonEvent(): Promise<boolean>

以Promise形式获取当前有序公共事件是否取消的状态。

系统能力SystemCapability.Notification.CommonEvent

返回值:

类型 说明
Promise<boolean> 表示当前有序公共事件是否取消的状态。

示例:

subscriber.getAbortCommonEvent().then((abortEvent) => {
    console.info("abortCommonEvent " + JSON.stringify(abortEvent));
}).catch((err) => {
    console.error(`getAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`);
});

getSubscribeInfo

getSubscribeInfo(callback: AsyncCallback<CommonEventSubscribeInfo>): void

以回调形式获取订阅者的订阅信息。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
callback AsyncCallback<CommonEventSubscribeInfo> 表示订阅者的订阅信息。

示例:

//获取订阅者信息回调
function getCB(err, subscribeInfo) {
    if (err.code) {
        console.error(`getSubscribeInfo failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("subscribeInfo " + JSON.stringify(subscribeInfo));
    }
}
subscriber.getSubscribeInfo(getCB);

getSubscribeInfo

getSubscribeInfo(): Promise<CommonEventSubscribeInfo>

以Promise形式获取订阅者的订阅信息。

系统能力SystemCapability.Notification.CommonEvent

返回值:

类型 说明
Promise<CommonEventSubscribeInfo> 表示订阅者的订阅信息。

示例:

subscriber.getSubscribeInfo().then((subscribeInfo) => {
    console.info("subscribeInfo " + JSON.stringify(subscribeInfo));
}).catch((err) => {
    console.error(`getSubscribeInfo failed, code is ${err.code}, message is ${err.message}`);
});

finishCommonEvent9+

finishCommonEvent(callback: AsyncCallback<void>): void

以回调形式结束当前有序公共事件。

系统能力SystemCapability.Notification.CommonEvent

参数:

参数名 类型 必填 说明
callback AsyncCallback<void> 表示有序公共事件结束后的回调函数。

示例:

//结束当前有序公共事件的回调
function finishCB(err) {
  if (err.code) {
    console.error(`finishCommonEvent failed, code is ${err.code}, message is ${err.message}`);
  } else {
    console.info("FinishCommonEvent");
  }
}

subscriber.finishCommonEvent(finishCB);

finishCommonEvent9+

finishCommonEvent(): Promise<void>

以Promise形式结束当前有序公共事件。

系统能力SystemCapability.Notification.CommonEvent

返回值:

类型 说明
Promise<void> 返回一个Promise的结果。

示例:

subscriber.finishCommonEvent().then(() => {
    console.info("FinishCommonEvent");
}).catch((err) => {
    console.error(`finishCommonEvent failed, code is ${err.code}, message is ${err.message}`);
});