公共事件的能力

2024-01-23 13:00 更新

本模塊提供了公共事件的能力,包括公共事件的權(quán)限列表,發(fā)布公共事件,訂閱或取消訂閱公共事件,獲取或修改公共事件結(jié)果代碼、結(jié)果數(shù)據(jù)等。

說(shuō)明
  • 從API Version 9開始,該接口不再維護(hù),推薦使用新接口@ohos.commonEventManager。
  • 本模塊首批接口從API version 7開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

導(dǎo)入模塊

  1. import CommonEvent from '@ohos.commonEvent';

Support

系統(tǒng)公共事件是指由系統(tǒng)服務(wù)或系統(tǒng)應(yīng)用發(fā)布的事件,訂閱這些系統(tǒng)公共事件需要特定的權(quán)限。發(fā)布或訂閱這些事件需要使用如下鏈接中的枚舉定義。

全部系統(tǒng)公共事件枚舉定義請(qǐng)參見系統(tǒng)公共事件定義。

CommonEvent.publish

publish(event: string, callback: AsyncCallback<void>): void

發(fā)布公共事件(callback形式)。

系統(tǒng)能力: SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

event

string

表示要發(fā)送的公共事件。

callback

AsyncCallback<void>

表示被指定的回調(diào)方法。

示例:

  1. //發(fā)布公共事件回調(diào)
  2. function publishCallBack(err) {
  3. if (err.code) {
  4. console.error("publish failed " + JSON.stringify(err));
  5. } else {
  6. console.info("publish");
  7. }
  8. }
  9. //發(fā)布公共事件
  10. CommonEvent.publish("event", publishCallBack);

CommonEvent.publish

publish(event: string, options: CommonEventPublishData, callback: AsyncCallback<void>): void

發(fā)布公共事件指定發(fā)布信息(callback形式)。

系統(tǒng)能力: SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

event

string

表示要發(fā)布的公共事件。

options

CommonEventPublishData

表示發(fā)布公共事件的屬性。

callback

syncCallback<void>

表示被指定的回調(diào)方法。

示例:

  1. //公共事件相關(guān)信息
  2. let options = {
  3. code: 0, //公共事件的初始代碼
  4. data: "initial data",//公共事件的初始數(shù)據(jù)
  5. isOrdered: true //有序公共事件
  6. }
  7. //發(fā)布公共事件回調(diào)
  8. function publishCallBack(err) {
  9. if (err.code) {
  10. console.error("publish failed " + JSON.stringify(err));
  11. } else {
  12. console.info("publish");
  13. }
  14. }
  15. //發(fā)布公共事件
  16. CommonEvent.publish("event", options, publishCallBack);

CommonEvent.createSubscriber

createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback<CommonEventSubscriber>): void

創(chuàng)建訂閱者(callback形式)。

系統(tǒng)能力: SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

subscribeInfo

CommonEventSubscribeInfo

表示訂閱信息。

callback

AsyncCallback<CommonEventSubscriber>

表示創(chuàng)建訂閱者的回調(diào)方法。

示例:

  1. let subscriber; //用于保存創(chuàng)建成功的訂閱者對(duì)象,后續(xù)使用其完成訂閱及退訂的動(dòng)作
  2. //訂閱者信息
  3. let subscribeInfo = {
  4. events: ["event"]
  5. };
  6. //創(chuàng)建訂閱者回調(diào)
  7. function createSubscriberCallBack(err, commonEventSubscriber) {
  8. if (err.code) {
  9. console.error("createSubscriber failed " + JSON.stringify(err));
  10. } else {
  11. console.info("createSubscriber");
  12. subscriber = commonEventSubscriber;
  13. }
  14. }
  15. //創(chuàng)建訂閱者
  16. CommonEvent.createSubscriber(subscribeInfo, createSubscriberCallBack);

CommonEvent.createSubscriber

createSubscriber(subscribeInfo: CommonEventSubscribeInfo): Promise<CommonEventSubscriber>

創(chuàng)建訂閱者(Promise形式)。

系統(tǒng)能力: SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

subscribeInfo

CommonEventSubscribeInfo

表示訂閱信息。

返回值:

類型

說(shuō)明

Promise<CommonEventSubscriber>

返回訂閱者對(duì)象。

示例:

  1. let subscriber; //用于保存創(chuàng)建成功的訂閱者對(duì)象,后續(xù)使用其完成訂閱及退訂的動(dòng)作
  2. //訂閱者信息
  3. let subscribeInfo = {
  4. events: ["event"]
  5. };
  6. //創(chuàng)建訂閱者
  7. CommonEvent.createSubscriber(subscribeInfo).then((commonEventSubscriber) => {
  8. console.info("createSubscriber");
  9. subscriber = commonEventSubscriber;
  10. }).catch((err) => {
  11. console.error("createSubscriber failed " + JSON.stringify(err));
  12. });

CommonEvent.subscribe

subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback<CommonEventData>): void

訂閱公共事件(callback形式)。

系統(tǒng)能力: SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

subscriber

CommonEventSubscriber

表示訂閱者對(duì)象。

callback

AsyncCallback<CommonEventData>

表示接收公共事件數(shù)據(jù)的回調(diào)函數(shù)。

示例:

  1. let subscriber; //用于保存創(chuàng)建成功的訂閱者對(duì)象,后續(xù)使用其完成訂閱及退訂的動(dòng)作
  2. //訂閱者信息
  3. let subscribeInfo = {
  4. events: ["event"]
  5. };
  6. //訂閱公共事件回調(diào)
  7. function subscribeCallBack(err, data) {
  8. if (err.code) {
  9. console.error("subscribe failed " + JSON.stringify(err));
  10. } else {
  11. console.info("subscribe " + JSON.stringify(data));
  12. }
  13. }
  14. //創(chuàng)建訂閱者回調(diào)
  15. function createSubscriberCallBack(err, commonEventSubscriber) {
  16. if (err.code) {
  17. console.error("createSubscriber failed " + JSON.stringify(err));
  18. } else {
  19. console.info("createSubscriber");
  20. subscriber = commonEventSubscriber;
  21. //訂閱公共事件
  22. CommonEvent.subscribe(subscriber, subscribeCallBack);
  23. }
  24. }
  25. //創(chuàng)建訂閱者
  26. CommonEvent.createSubscriber(subscribeInfo, createSubscriberCallBack);

CommonEvent.unsubscribe

unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback<void>): void

取消訂閱公共事件(callback形式)。

系統(tǒng)能力: SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

subscriber

CommonEventSubscriber

表示訂閱者對(duì)象。

callback

AsyncCallback<void>

表示取消訂閱的回調(diào)方法。

示例:

  1. let subscriber; //用于保存創(chuàng)建成功的訂閱者對(duì)象,后續(xù)使用其完成訂閱及退訂的動(dòng)作
  2. //訂閱者信息
  3. let subscribeInfo = {
  4. events: ["event"]
  5. };
  6. //訂閱公共事件回調(diào)
  7. function subscribeCallBack(err, data) {
  8. if (err.code) {
  9. console.info("subscribe failed " + JSON.stringify(err));
  10. } else {
  11. console.info("subscribe " + JSON.stringify(data));
  12. }
  13. }
  14. //創(chuàng)建訂閱者回調(diào)
  15. function createSubscriberCallBack(err, commonEventSubscriber) {
  16. if (err.code) {
  17. console.info("createSubscriber failed " + JSON.stringify(err));
  18. } else {
  19. console.info("createSubscriber");
  20. subscriber = commonEventSubscriber;
  21. //訂閱公共事件
  22. CommonEvent.subscribe(subscriber, subscribeCallBack);
  23. }
  24. }
  25. //取消訂閱公共事件回調(diào)
  26. function unsubscribeCallBack(err) {
  27. if (err.code) {
  28. console.info("unsubscribe failed " + JSON.stringify(err));
  29. } else {
  30. console.info("unsubscribe");
  31. }
  32. }
  33. //創(chuàng)建訂閱者
  34. CommonEvent.createSubscriber(subscribeInfo, createSubscriberCallBack);
  35. //取消訂閱公共事件
  36. CommonEvent.unsubscribe(subscriber, unsubscribeCallBack);

CommonEventSubscriber

getCode

getCode(callback: AsyncCallback<number>): void

獲取公共事件的結(jié)果代碼(callback形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

callback

AsyncCallback<number>

公共事件的結(jié)果代碼。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. //獲取有序公共事件的結(jié)果代碼回調(diào)
  3. function getCodeCallback(err, Code) {
  4. if (err.code) {
  5. console.error("getCode failed " + JSON.stringify(err));
  6. } else {
  7. console.info("getCode " + JSON.stringify(Code));
  8. }
  9. }
  10. subscriber.getCode(getCodeCallback);

getCode

getCode(): Promise<number>

獲取公共事件的結(jié)果代碼(Promise形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

返回值:

類型

說(shuō)明

Promise<number>

公共事件的結(jié)果代碼。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. subscriber.getCode().then((Code) => {
  3. console.info("getCode " + JSON.stringify(Code));
  4. }).catch((err) => {
  5. console.error("getCode failed " + JSON.stringify(err));
  6. });

setCode

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

設(shè)置公共事件的結(jié)果代碼(callback形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

code

number

公共事件的結(jié)果代碼。

callback

AsyncCallback<void>

表示被指定的回調(diào)方法。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. //設(shè)置有序公共事件的結(jié)果代碼回調(diào)
  3. function setCodeCallback(err) {
  4. if (err.code) {
  5. console.error("setCode failed " + JSON.stringify(err));
  6. } else {
  7. console.info("setCode");
  8. }
  9. }
  10. subscriber.setCode(1, setCodeCallback);

setCode

setCode(code: number): Promise<void>

設(shè)置公共事件的結(jié)果代碼(Promise形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

code

number

公共事件的結(jié)果代碼。

返回值:

類型

說(shuō)明

Promise<void>

返回一個(gè)Promise的結(jié)果。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. subscriber.setCode(1).then(() => {
  3. console.info("setCode");
  4. }).catch((err) => {
  5. console.error("setCode failed " + JSON.stringify(err));
  6. });

getData

getData(callback: AsyncCallback<string>): void

獲取公共事件的結(jié)果數(shù)據(jù)(callback形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

callback

AsyncCallback<string>

公共事件的結(jié)果數(shù)據(jù)。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. //獲取有序公共事件的結(jié)果數(shù)據(jù)回調(diào)
  3. function getDataCallback(err, Data) {
  4. if (err.code) {
  5. console.error("getData failed " + JSON.stringify(err));
  6. } else {
  7. console.info("getData " + JSON.stringify(Data));
  8. }
  9. }
  10. subscriber.getData(getDataCallback);

getData

getData(): Promise<string>

獲取公共事件的結(jié)果數(shù)據(jù)(Promise形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

返回值:

類型

說(shuō)明

Promise<string>

公共事件的結(jié)果數(shù)據(jù)。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. subscriber.getData().then((Data) => {
  3. console.info("getData " + JSON.stringify(Data));
  4. }).catch((err) => {
  5. console.error("getData failed " + JSON.stringify(err));
  6. });

setData

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

設(shè)置公共事件的結(jié)果數(shù)據(jù)(callback形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

data

string

公共事件的結(jié)果數(shù)據(jù)。

callback

AsyncCallback<void>

表示被指定的回調(diào)方法。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. //設(shè)置有序公共事件的結(jié)果數(shù)據(jù)回調(diào)
  3. function setDataCallback(err) {
  4. if (err.code) {
  5. console.error("setData failed " + JSON.stringify(err));
  6. } else {
  7. console.info("setData");
  8. }
  9. }
  10. subscriber.setData("publish_data_changed", setDataCallback);

setData

setData(data: string): Promise<void>

設(shè)置公共事件的結(jié)果數(shù)據(jù)(Promise形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

data

string

公共事件的結(jié)果數(shù)據(jù)。

返回值:

類型

說(shuō)明

Promise<void>

返回一個(gè)Promise的結(jié)果。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. subscriber.setData("publish_data_changed").then(() => {
  3. console.info("setData");
  4. }).catch((err) => {
  5. console.error("setData failed " + JSON.stringify(err));
  6. });

setCodeAndData

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

設(shè)置公共事件的結(jié)果代碼和結(jié)果數(shù)據(jù)(callback形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

code

number

公共事件的結(jié)果代碼。

data

string

公共事件的結(jié)果數(shù)據(jù)。

callback

AsyncCallback<void>

表示被指定的回調(diào)方法。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. //設(shè)置有序公共事件的結(jié)果代碼和結(jié)果數(shù)據(jù)回調(diào)
  3. function setCodeDataCallback(err) {
  4. if (err.code) {
  5. console.error("setCodeAndData failed " + JSON.stringify(err));
  6. } else {
  7. console.info("setCodeDataCallback");
  8. }
  9. }
  10. subscriber.setCodeAndData(1, "publish_data_changed", setCodeDataCallback);

setCodeAndData

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

設(shè)置公共事件的結(jié)果代碼和結(jié)果數(shù)據(jù)(Promise形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

code

number

公共事件的結(jié)果代碼。

data

string

公共事件的結(jié)果數(shù)據(jù)。

返回值:

類型

說(shuō)明

Promise<void>

返回一個(gè)Promise的結(jié)果。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. subscriber.setCodeAndData(1, "publish_data_changed").then(() => {
  3. console.info("setCodeAndData");
  4. }).catch((err) => {
  5. console.info("setCodeAndData failed " + JSON.stringify(err));
  6. });

isOrderedCommonEvent

isOrderedCommonEvent(callback: AsyncCallback<boolean>): void

查詢當(dāng)前公共事件的是否為有序公共事件(callback形式)。

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

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

callback

AsyncCallback<boolean>

當(dāng)前公共事件的是否為有序公共事件。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. //獲取當(dāng)前公共事件是否為有序事件的回調(diào)
  3. function isOrderedCallback(err, isOrdered) {
  4. if (err.code) {
  5. console.error("isOrderedCommonEvent failed " + JSON.stringify(err));
  6. } else {
  7. console.info("isOrdered " + JSON.stringify(isOrdered));
  8. }
  9. }
  10. subscriber.isOrderedCommonEvent(isOrderedCallback);

isOrderedCommonEvent

isOrderedCommonEvent(): Promise<boolean>

查詢當(dāng)前公共事件的是否為有序公共事件(Promise形式)。

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

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

返回值:

類型

說(shuō)明

Promise<boolean>

當(dāng)前公共事件的是否為有序公共事件。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. subscriber.isOrderedCommonEvent().then((isOrdered) => {
  3. console.info("isOrdered " + JSON.stringify(isOrdered));
  4. }).catch((err) => {
  5. console.error("isOrdered failed " + JSON.stringify(err));
  6. });

isStickyCommonEvent

isStickyCommonEvent(callback: AsyncCallback<boolean>): void

檢查當(dāng)前公共事件是否為一個(gè)粘性事件(callback形式)。

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

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

callback

AsyncCallback<boolean>

當(dāng)前公共事件的是否為粘性公共事件。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. //獲取當(dāng)前公共事件是否為粘性事件的回調(diào)
  3. function isStickyCallback(err, isSticky) {
  4. if (err.code) {
  5. console.error("isStickyCommonEvent failed " + JSON.stringify(err));
  6. } else {
  7. console.info("isSticky " + JSON.stringify(isSticky));
  8. }
  9. }
  10. subscriber.isStickyCommonEvent(isStickyCallback);

isStickyCommonEvent

isStickyCommonEvent(): Promise<boolean>

檢查當(dāng)前公共事件是否為一個(gè)粘性事件(Promise形式)。

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

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

返回值:

類型

說(shuō)明

Promise<boolean>

當(dāng)前公共事件的是否為粘性公共事件。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. subscriber.isStickyCommonEvent().then((isSticky) => {
  3. console.info("isSticky " + JSON.stringify(isSticky));
  4. }).catch((err) => {
  5. console.error("isSticky failed " + JSON.stringify(err));
  6. });

abortCommonEvent

abortCommonEvent(callback: AsyncCallback<void>): void

取消當(dāng)前的公共事件,僅對(duì)有序公共事件有效,取消后,公共事件不再向下一個(gè)訂閱者傳遞(callback形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

callback

AsyncCallback<void>

取消當(dāng)前的公共事件。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. //取消當(dāng)前有序公共事件的回調(diào)
  3. function abortCallback(err) {
  4. if (err.code) {
  5. console.error("abortCommonEvent failed " + JSON.stringify(err));
  6. } else {
  7. console.info("abortCommonEvent");
  8. }
  9. }
  10. subscriber.abortCommonEvent(abortCallback);

abortCommonEvent

abortCommonEvent(): Promise<void>

取消當(dāng)前的公共事件,僅對(duì)有序公共事件有效,取消后,公共事件不再向下一個(gè)訂閱者傳遞(Promise形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

返回值:

類型

說(shuō)明

Promise<void>

返回一個(gè)Promise的結(jié)果。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. subscriber.abortCommonEvent().then(() => {
  3. console.info("abortCommonEvent");
  4. }).catch((err) => {
  5. console.error("abortCommonEvent failed " + JSON.stringify(err));
  6. });

clearAbortCommonEvent

clearAbortCommonEvent(callback: AsyncCallback<void>): void

清除當(dāng)前公共事件的取消狀態(tài),僅對(duì)有序公共事件有效(callback形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

callback

AsyncCallback<void>

表示被指定的回調(diào)方法。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. //清除當(dāng)前公共事件取消狀態(tài)的回調(diào)
  3. function clearAbortCallback(err) {
  4. if (err.code) {
  5. console.error("clearAbortCommonEvent failed " + JSON.stringify(err));
  6. } else {
  7. console.info("clearAbortCommonEvent");
  8. }
  9. }
  10. subscriber.clearAbortCommonEvent(clearAbortCallback);

clearAbortCommonEvent

clearAbortCommonEvent(): Promise<void>

清除當(dāng)前公共事件的取消狀態(tài),僅對(duì)有序公共事件有效(Promise形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

返回值:

類型

說(shuō)明

Promise<void>

返回一個(gè)Promise的結(jié)果。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. subscriber.clearAbortCommonEvent().then(() => {
  3. console.info("clearAbortCommonEvent");
  4. }).catch((err) => {
  5. console.error("clearAbortCommonEvent failed " + JSON.stringify(err));
  6. });

getAbortCommonEvent

getAbortCommonEvent(callback: AsyncCallback<boolean>): void

獲取當(dāng)前有序公共事件是否取消的狀態(tài)(callback形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

callback

AsyncCallback<boolean>

表示當(dāng)前有序公共事件是否取消的狀態(tài)。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. //獲取當(dāng)前有序公共事件是否取消的回調(diào)
  3. function getAbortCallback(err, AbortCommonEvent) {
  4. if (err.code) {
  5. console.error("getAbortCommonEvent failed " + JSON.stringify(err));
  6. } else {
  7. console.info("AbortCommonEvent " + AbortCommonEvent)
  8. }
  9. }
  10. subscriber.getAbortCommonEvent(getAbortCallback);

getAbortCommonEvent

getAbortCommonEvent(): Promise<boolean>

獲取當(dāng)前有序公共事件是否取消的狀態(tài)(Promise形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

返回值:

類型

說(shuō)明

Promise<boolean>

表示當(dāng)前有序公共事件是否取消的狀態(tài)。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. subscriber.getAbortCommonEvent().then((AbortCommonEvent) => {
  3. console.info("AbortCommonEvent " + JSON.stringify(AbortCommonEvent));
  4. }).catch((err) => {
  5. console.error("getAbortCommonEvent failed " + JSON.stringify(err));
  6. });

getSubscribeInfo

getSubscribeInfo(callback: AsyncCallback<CommonEventSubscribeInfo>): void

獲取訂閱者的訂閱信息(callback形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

callback

AsyncCallback<CommonEventSubscribeInfo>

表示訂閱者的訂閱信息。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. //獲取訂閱者信息回調(diào)
  3. function getSubscribeInfoCallback(err, SubscribeInfo) {
  4. if (err.code) {
  5. console.error("getSubscribeInfo failed " + JSON.stringify(err));
  6. } else {
  7. console.info("SubscribeInfo " + JSON.stringify(SubscribeInfo));
  8. }
  9. }
  10. subscriber.getSubscribeInfo(getSubscribeInfoCallback);

getSubscribeInfo

getSubscribeInfo(): Promise<CommonEventSubscribeInfo>

獲取訂閱者的訂閱信息(Promise形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

返回值:

類型

說(shuō)明

Promise<CommonEventSubscribeInfo>

表示訂閱者的訂閱信息。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. subscriber.getSubscribeInfo().then((SubscribeInfo) => {
  3. console.info("SubscribeInfo " + JSON.stringify(SubscribeInfo));
  4. }).catch((err) => {
  5. console.error("getSubscribeInfo failed " + JSON.stringify(err));
  6. });

finishCommonEvent9+

finishCommonEvent(callback: AsyncCallback<void>): void

結(jié)束當(dāng)前有序公共事件(callback形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

參數(shù):

參數(shù)名

類型

必填

說(shuō)明

callback

AsyncCallback<void>

表示有序公共事件結(jié)束后的回調(diào)函數(shù)。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. //結(jié)束當(dāng)前有序公共事件的回調(diào)
  3. function finishCommonEventCallback(err) {
  4. if (err.code) {
  5. console.error("finishCommonEvent failed " + JSON.stringify(err));
  6. } else {
  7. console.info("FinishCommonEvent");
  8. }
  9. }
  10. subscriber.finishCommonEvent(finishCommonEventCallback);

finishCommonEvent9+

finishCommonEvent(): Promise<void>

結(jié)束當(dāng)前有序公共事件(Promise形式)。

系統(tǒng)能力:SystemCapability.Notification.CommonEvent

返回值:

類型

說(shuō)明

Promise<void>

返回一個(gè)Promise的結(jié)果。

示例:

  1. let subscriber; //創(chuàng)建成功的訂閱者對(duì)象
  2. subscriber.finishCommonEvent().then(() => {
  3. console.info("FinishCommonEvent");
  4. }).catch((err) => {
  5. console.error("finishCommonEvent failed " + JSON.stringify(err));
  6. });

CommonEventData

公共事件數(shù)據(jù)體。

系統(tǒng)能力: 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Notification.CommonEvent

名稱

類型

可讀

可寫

說(shuō)明

event

string

表示當(dāng)前接收的公共事件名稱。

bundleName

string

表示包名稱。

code

number

表示公共事件的結(jié)果代碼,用于傳遞int類型的數(shù)據(jù)。

data

string

表示公共事件的自定義結(jié)果數(shù)據(jù),用于傳遞string類型的數(shù)據(jù)。

parameters

{[key: string]: any}

表示公共事件的附加信息。

CommonEventPublishData

公共事件發(fā)送的數(shù)據(jù)體,包含公共事件內(nèi)容和屬性。

系統(tǒng)能力: 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Notification.CommonEvent

名稱

類型

可讀

可寫

說(shuō)明

bundleName

string

表示包名稱。

code

number

表示公共事件的結(jié)果代碼。

data

string

表示公共事件的自定義結(jié)果數(shù)據(jù)。

subscriberPermissions

Array<string>

表示訂閱者的權(quán)限。

isOrdered

boolean

表示是否是有序事件。

isSticky

boolean

表示是否是粘性事件。僅系統(tǒng)應(yīng)用或系統(tǒng)服務(wù)允許發(fā)送粘性事件。

parameters

{[key: string]: any}

表示公共事件的附加信息。

CommonEventSubscribeInfo

訂閱者信息。

系統(tǒng)能力: 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Notification.CommonEvent

名稱

類型

可讀

可寫

說(shuō)明

events

Array<string>

表示要發(fā)送的公共事件。

publisherPermission

string

表示發(fā)布者的權(quán)限。

publisherDeviceId

string

表示設(shè)備ID,該值必須是同一ohos網(wǎng)絡(luò)上的現(xiàn)有設(shè)備ID。

userId

number

表示用戶ID。此參數(shù)是可選的,默認(rèn)值當(dāng)前用戶的ID。如果指定了此參數(shù),則該值必須是系統(tǒng)中現(xiàn)有的用戶ID。

priority

number

表示訂閱者的優(yōu)先級(jí)。值的范圍是-100到1000。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)