# CommonEventSubscriber > **NOTE** > > The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version. ## Usage Before using the **CommonEventSubscriber** module, you must obtain a **subscriber** object by calling **CommonEvent.createSubscriber**. ```ts import CommonEvent from '@ohos.commonEvent'; import CommonEventManager from '@ohos.commonEventManager'; import Base from '@ohos.base'; let subscriber:CommonEventManager.CommonEventSubscriber; // Used to save the created subscriber object for subsequent subscription and unsubscription. // Subscriber information. let subscribeInfo:CommonEventManager.CommonEventSubscribeInfo = { events: ["event"] }; // Callback for subscriber creation. function createCB(err:Base.BusinessError, commonEventSubscriber:CommonEventManager.CommonEventSubscriber) { if (err.code !== undefined && err.code != null) { console.error(`createSubscriber failed, code is ${err.code}`); } else { console.info("createSubscriber"); subscriber = commonEventSubscriber; } } // Create a subscriber. CommonEvent.createSubscriber(subscribeInfo, createCB); ``` ## getCode getCode(callback: AsyncCallback\): void Obtains the code of this common event. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------- | ---- | ------------------ | | callback | AsyncCallback\ | Yes | Common event code.| **Example** ```ts // Callback for result code obtaining of an ordered common event. function getCodeCB(err:Base.BusinessError, code:number) { if (err.code !== undefined && err.code != null) { 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\ Obtains the code of this common event. This API uses a promise to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Return value** | Type | Description | | ---------------- | -------------------- | | Promise\ | Common event code.| **Example** ```ts subscriber.getCode().then((code:number) => { console.info("getCode " + JSON.stringify(code)); }).catch((err:Base.BusinessError) => { console.error(`getCode failed, code is ${err.code}, message is ${err.message}`); }); ``` ## setCode setCode(code: number, callback: AsyncCallback\): void Sets the code for this common event. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------- | ---- | ---------------------- | | code | number | Yes | Common event code. | | callback | AsyncCallback\ | Yes | Callback used to return the result.| **Example** ```ts // Callback for result code setting of an ordered common event. function setCodeCB(err:Base.BusinessError) { if (err.code !== undefined && err.code != null) { 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\ Sets the code for this common event. This API uses a promise to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | ------------------ | | code | number | Yes | Common event code.| **Return value** | Type | Description | | ---------------- | -------------------- | | Promise\ | Promise used to return the result.| **Example** ```ts subscriber.setCode(1).then(() => { console.info("setCode"); }).catch((err:Base.BusinessError) => { console.error(`setCode failed, code is ${err.code}, message is ${err.message}`); }); ``` ## getData getData(callback: AsyncCallback\): void Obtains the data of this common event. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------- | ---- | -------------------- | | callback | AsyncCallback\ | Yes | Common event data.| **Example** ```ts // Callback for result data obtaining of an ordered common event. function getDataCB(err:Base.BusinessError, data:string) { if (err.code !== undefined && err.code != null) { 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\ Obtains the data of this common event. This API uses a promise to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Return value** | Type | Description | | ---------------- | ------------------ | | Promise\ | Common event data.| **Example** ```ts subscriber.getData().then((data:string) => { console.info("getData " + JSON.stringify(data)); }).catch((err:Base.BusinessError) => { console.error(`getData failed, code is ${err.code}, message is ${err.message}`); }); ``` ## setData setData(data: string, callback: AsyncCallback\): void Sets the data for this common event. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------- | ---- | -------------------- | | data | string | Yes | Common event data. | | callback | AsyncCallback\ | Yes | Callback used to return the result.| **Example** ```ts // Callback for result data setting of an ordered common event function setDataCB(err:Base.BusinessError) { if (err.code !== undefined && err.code != null) { 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\ Sets the data for this common event. This API uses a promise to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------------------- | | data | string | Yes | Common event data.| **Return value** | Type | Description | | ---------------- | -------------------- | | Promise\ | Promise used to return the result.| **Example** ```ts subscriber.setData("publish_data_changed").then(() => { console.info("setData"); }).catch((err:Base.BusinessError) => { console.error(`setCode failed, code is ${err.code}, message is ${err.message}`); }); ``` ## setCodeAndData setCodeAndData(code: number, data: string, callback:AsyncCallback\): void Sets the code and data for this common event. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------- | ---- | ---------------------- | | code | number | Yes | Common event code. | | data | string | Yes | Common event data. | | callback | AsyncCallback\ | Yes | Callback used to return the result.| **Example** ```ts // Callback for code and data setting of an ordered common event. function setCodeDataCB(err:Base.BusinessError) { if (err.code !== undefined && err.code != null) { 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\ Sets the code and data for this common event. This API uses a promise to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | -------------------- | | code | number | Yes | Common event code.| | data | string | Yes | Common event data.| **Return value** | Type | Description | | ---------------- | -------------------- | | Promise\ | Promise used to return the result.| **Example** ```ts subscriber.setCodeAndData(1, "publish_data_changed").then(() => { console.info("setCodeAndData"); }).catch((err:Base.BusinessError) => { console.error(`setCodeAndData failed, code is ${err.code}, message is ${err.message}`); }); ``` ## isOrderedCommonEvent isOrderedCommonEvent(callback: AsyncCallback\): void Checks whether this common event is an ordered one. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------- | ---- | ---------------------------------- | | callback | AsyncCallback\ | Yes | Returns **true** if the common event is an ordered one; returns **false** otherwise.| **Example** ```ts // Callback for checking whether the current common event is an ordered one. function isOrderedCB(err:Base.BusinessError, isOrdered:boolean) { if (err.code !== undefined && err.code != null) { 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\ Checks whether this common event is an ordered one. This API uses a promise to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Return value** | Type | Description | | ----------------- | -------------------------------- | | Promise\ | Returns **true** if the common event is an ordered one; returns **false** otherwise.| **Example** ```ts subscriber.isOrderedCommonEvent().then((isOrdered:boolean) => { console.info("isOrdered " + JSON.stringify(isOrdered)); }).catch((err:Base.BusinessError) => { console.error(`isOrdered failed, code is ${err.code}, message is ${err.message}`); }); ``` ## isStickyCommonEvent isStickyCommonEvent(callback: AsyncCallback\): void Checks whether this common event is a sticky one. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------- | ---- | ---------------------------------- | | callback | AsyncCallback\ | Yes | Returns **true** if the common event is a sticky one; returns **false** otherwise.| **Example** ```ts // Callback for checking whether the current common event is a sticky one. function isStickyCB(err:Base.BusinessError, isSticky:boolean) { if (err.code !== undefined && err.code != null) { 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\ Checks whether this common event is a sticky one. This API uses a promise to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Return value** | Type | Description | | ----------------- | -------------------------------- | | Promise\ | Returns **true** if the common event is a sticky one; returns **false** otherwise.| **Example** ```ts subscriber.isStickyCommonEvent().then((isSticky:boolean) => { console.info("isSticky " + JSON.stringify(isSticky)); }).catch((err:Base.BusinessError) => { console.error(`isSticky failed, code is ${err.code}, message is ${err.message}`); }); ``` ## abortCommonEvent abortCommonEvent(callback: AsyncCallback\): void Aborts this common event. After the abort, the common event is not sent to the next subscriber. This API takes effect only for ordered common events. It uses an asynchronous callback to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------- | ---- | -------------------- | | callback | AsyncCallback\ | Yes | Callback used to return the result.| **Example** ```ts // Callback for common event aborting. function abortCB(err:Base.BusinessError) { if (err.code !== undefined && err.code != null) { console.error(`abortCommonEvent failed, code is ${err.code}, message is ${err.message}`); } else { console.info("abortCommonEvent"); } } subscriber.abortCommonEvent(abortCB); ``` ## abortCommonEvent abortCommonEvent(): Promise\ Aborts this common event. After the abort, the common event is not sent to the next subscriber. This API takes effect only for ordered common events. It uses a promise to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Return value** | Type | Description | | ---------------- | -------------------- | | Promise\ | Promise used to return the result.| **Example** ```ts subscriber.abortCommonEvent().then(() => { console.info("abortCommonEvent"); }).catch((err:Base.BusinessError) => { console.error(`abortCommonEvent failed, code is ${err.code}, message is ${err.message}`); }); ``` ## clearAbortCommonEvent clearAbortCommonEvent(callback: AsyncCallback\): void Clears the aborted state of this common event. This API takes effect only for ordered common events. It uses an asynchronous callback to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------- | ---- | -------------------- | | callback | AsyncCallback\ | Yes | Callback used to return the result.| **Example** ```ts // Callback for clearing the aborted state of the current common event. function clearAbortCB(err:Base.BusinessError) { if (err.code !== undefined && err.code != null) { console.error(`clearAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`); } else { console.info("clearAbortCommonEvent"); } } subscriber.clearAbortCommonEvent(clearAbortCB); ``` ## clearAbortCommonEvent clearAbortCommonEvent(): Promise\ Clears the aborted state of this common event. This API takes effect only for ordered common events. It uses a promise to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Return value** | Type | Description | | ---------------- | -------------------- | | Promise\ | Promise used to return the result.| **Example** ```ts subscriber.clearAbortCommonEvent().then(() => { console.info("clearAbortCommonEvent"); }).catch((err:Base.BusinessError) => { console.error(`clearAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`); }); ``` ## getAbortCommonEvent getAbortCommonEvent(callback: AsyncCallback\): void Checks whether this common event is in the aborted state. This API takes effect only for ordered common events. It uses an asynchronous callback to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------- | ---- | ---------------------------------- | | callback | AsyncCallback\ | Yes | Returns **true** if the ordered common event is in the aborted state; returns **false** otherwise.| **Example** ```ts // Callback for checking whether the current common event is in the aborted state. function getAbortCB(err:Base.BusinessError, abortEvent:boolean) { if (err.code !== undefined && err.code != null) { console.error(`getAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`); } else { console.info("abortCommonEvent " + abortEvent) } } subscriber.getAbortCommonEvent(getAbortCB); ``` ## getAbortCommonEvent getAbortCommonEvent(): Promise\ Checks whether this common event is in the aborted state. This API takes effect only for ordered common events. It uses a promise to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Return value** | Type | Description | | ----------------- | ---------------------------------- | | Promise\ | Returns **true** if the ordered common event is in the aborted state; returns **false** otherwise.| **Example** ```ts subscriber.getAbortCommonEvent().then((abortEvent:boolean) => { console.info("abortCommonEvent " + JSON.stringify(abortEvent)); }).catch((err:Base.BusinessError) => { console.error(`getAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`); }); ``` ## getSubscribeInfo getSubscribeInfo(callback: AsyncCallback\): void Obtains the subscriber information. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ---------------------- | | callback | AsyncCallback\<[CommonEventSubscribeInfo](./js-apis-inner-commonEvent-commonEventSubscribeInfo.md)> | Yes | Callback used to return the subscriber information.| **Example** ```ts // Callback for subscriber information obtaining. function getCB(err:Base.BusinessError, subscribeInfo:CommonEventManager.CommonEventSubscribeInfo) { if (err.code !== undefined && err.code != null) { 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\ Obtains the subscriber information. This API uses a promise to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Return value** | Type | Description | | ------------------------------------------------------------ | ---------------------- | | Promise\<[CommonEventSubscribeInfo](./js-apis-inner-commonEvent-commonEventSubscribeInfo.md)> | Promise used to return the subscriber information.| **Example** ```ts subscriber.getSubscribeInfo().then((subscribeInfo:CommonEventManager.CommonEventSubscribeInfo) => { console.info("subscribeInfo " + JSON.stringify(subscribeInfo)); }).catch((err:Base.BusinessError) => { console.error(`getSubscribeInfo failed, code is ${err.code}, message is ${err.message}`); }); ``` ## finishCommonEvent9+ finishCommonEvent(callback: AsyncCallback\): void Finishes this common event. This API takes effect only for ordered common events. It uses an asynchronous callback to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------- | ---- | -------------------------------- | | callback | AsyncCallback\ | Yes | Callback returned after the ordered common event is finished.| **Example** ```ts // Callback for ordered common event finishing. function finishCB(err:Base.BusinessError) { if (err.code !== undefined && err.code != null) { console.error(`finishCommonEvent failed, code is ${err.code}, message is ${err.message}`); } else { console.info("FinishCommonEvent"); } } subscriber.finishCommonEvent(finishCB); ``` ## finishCommonEvent9+ finishCommonEvent(): Promise\ Finishes this common event. This API takes effect only for ordered common events. It uses a promise to return the result. **System capability**: SystemCapability.Notification.CommonEvent **Return value** | Type | Description | | ---------------- | -------------------- | | Promise\ | Promise used to return the result.| **Example** ```ts subscriber.finishCommonEvent().then(() => { console.info("FinishCommonEvent"); }).catch((err:Base.BusinessError) => { console.error(`finishCommonEvent failed, code is ${err.code}, message is ${err.message}`); }); ```