公共事件的能力

2024-01-23 12:58 更新

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

說明

本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。

導入模塊

  1. import CommonEventManager from '@ohos.commonEventManager';

Support

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

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

CommonEventManager.publish

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

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

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

參數(shù):

參數(shù)名

類型

必填

說明

event

string

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

callback

AsyncCallback<void>

表示被指定的回調方法。

錯誤碼:

以下錯誤碼詳細介紹請參考@ohos.commonEventManager(事件)

錯誤碼ID

錯誤信息

1500004

not System services or System app

1500007

message send error

1500008

CEMS error

1500009

system error

示例:

  1. //發(fā)布公共事件回調
  2. function publishCallBack(err) {
  3. if (err) {
  4. console.error("publish failed " + JSON.stringify(err));
  5. } else {
  6. console.info("publish");
  7. }
  8. }
  9. //發(fā)布公共事件
  10. try {
  11. CommonEventManager.publish("event", publishCallBack);
  12. } catch(err) {
  13. console.error('publish failed, catch error' + JSON.stringify(err));
  14. }

CommonEventManager.publish

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

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

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

參數(shù):

參數(shù)名

類型

必填

說明

event

string

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

options

CommonEventPublishData

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

callback

syncCallback<void>

表示被指定的回調方法。

錯誤碼:

錯誤碼ID

錯誤信息

1500004

not System services or System app

1500007

message send error

1500008

CEMS error

1500009

system error

示例:

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

CommonEventManager.createSubscriber

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

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

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

參數(shù):

參數(shù)名

類型

必填

說明

subscribeInfo

CommonEventSubscribeInfo

表示訂閱信息。

callback

AsyncCallback<CommonEventSubscriber>

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

示例:

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

CommonEventManager.createSubscriber

createSubscriber(subscribeInfo: CommonEventSubscribeInfo): Promise<CommonEventSubscriber>

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

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

參數(shù):

參數(shù)名

類型

必填

說明

subscribeInfo

CommonEventSubscribeInfo

表示訂閱信息。

返回值:

類型

說明

Promise<CommonEventSubscriber>

返回訂閱者對象。

示例:

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

CommonEventManager.subscribe

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

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

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

參數(shù):

參數(shù)名

類型

必填

說明

subscriber

CommonEventSubscriber

表示訂閱者對象。

callback

AsyncCallback<CommonEventData>

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

示例:

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

CommonEventManager.unsubscribe

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

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

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

參數(shù):

參數(shù)名

類型

必填

說明

subscriber

CommonEventSubscriber

表示訂閱者對象。

callback

AsyncCallback<void>

表示取消訂閱的回調方法。

示例:

  1. var subscriber; //用于保存創(chuàng)建成功的訂閱者對象,后續(xù)使用其完成訂閱及退訂的動作
  2. //訂閱者信息
  3. var subscribeInfo = {
  4. events: ["event"]
  5. };
  6. //訂閱公共事件回調
  7. function subscribeCallBack(err, data) {
  8. if (err) {
  9. console.info("subscribe failed " + JSON.stringify(err));
  10. } else {
  11. console.info("subscribe");
  12. }
  13. }
  14. //創(chuàng)建訂閱者回調
  15. function createSubscriberCallBack(err, commonEventSubscriber) {
  16. if (err) {
  17. console.info("createSubscriber failed " + JSON.stringify(err));
  18. } else {
  19. console.info("createSubscriber");
  20. subscriber = commonEventSubscriber;
  21. //訂閱公共事件
  22. try {
  23. CommonEventManager.subscribe(subscriber, subscribeCallBack);
  24. } catch(err) {
  25. console.info("subscribe failed " + JSON.stringify(err));
  26. }
  27. }
  28. }
  29. //取消訂閱公共事件回調
  30. function unsubscribeCallBack(err) {
  31. if (err) {
  32. console.info("unsubscribe failed " + JSON.stringify(err));
  33. } else {
  34. console.info("unsubscribe");
  35. }
  36. }
  37. //創(chuàng)建訂閱者
  38. try {
  39. CommonEventManager.createSubscriber(subscribeInfo, createSubscriberCallBack);
  40. } catch (err) {
  41. console.info("createSubscriber failed " + JSON.stringify(err));
  42. }
  43. //取消訂閱公共事件
  44. try {
  45. CommonEventManager.unsubscribe(subscriber, unsubscribeCallBack);
  46. } catch (err) {
  47. console.info("unsubscribe failed " + JSON.stringify(err));
  48. }
  49. <<<<<<< HEAD

CommonEventSubscriber

getCode

getCode(callback: AsyncCallback<number>): void

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

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

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<number>

公共事件的結果代碼。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  2. //獲取有序公共事件的結果代碼回調
  3. function getCodeCallback(err, Code) {
  4. if (err) {
  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>

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

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

返回值:

類型

說明

Promise<number>

公共事件的結果代碼。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  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

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

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

參數(shù):

參數(shù)名

類型

必填

說明

code

number

公共事件的結果代碼。

callback

AsyncCallback<void>

表示被指定的回調方法。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  2. //設置有序公共事件的結果代碼回調
  3. function setCodeCallback(err) {
  4. if (err) {
  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>

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

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

參數(shù):

參數(shù)名

類型

必填

說明

code

number

公共事件的結果代碼。

返回值:

類型

說明

Promise<void>

返回一個Promise的結果。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  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

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

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

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<string>

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

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  2. //獲取有序公共事件的結果數(shù)據(jù)回調
  3. function getDataCallback(err, Data) {
  4. if (err) {
  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>

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

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

返回值:

類型

說明

Promise<string>

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

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  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ù)據(jù)(callback形式)。

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

參數(shù):

參數(shù)名

類型

必填

說明

data

string

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

callback

AsyncCallback<void>

表示被指定的回調方法。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  2. //設置有序公共事件的結果數(shù)據(jù)回調
  3. function setDataCallback(err) {
  4. if (err) {
  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ù)據(jù)(Promise形式)。

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

參數(shù):

參數(shù)名

類型

必填

說明

data

string

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

返回值:

類型

說明

Promise<void>

返回一個Promise的結果。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  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ù)據(jù)(callback形式)。

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

參數(shù):

參數(shù)名

類型

必填

說明

code

number

公共事件的結果代碼。

data

string

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

callback

AsyncCallback<void>

表示被指定的回調方法。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  2. //設置有序公共事件的結果代碼和結果數(shù)據(jù)回調
  3. function setCodeDataCallback(err) {
  4. if (err) {
  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ù)據(jù)(Promise形式)。

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

參數(shù):

參數(shù)名

類型

必填

說明

code

number

公共事件的結果代碼。

data

string

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

返回值:

類型

說明

Promise<void>

返回一個Promise的結果。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  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

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

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

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

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<boolean>

當前公共事件的是否為有序公共事件。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  2. //獲取當前公共事件是否為有序事件的回調
  3. function isOrderedCallback(err, isOrdered) {
  4. if (err) {
  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>

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

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

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

返回值:

類型

說明

Promise<boolean>

當前公共事件的是否為有序公共事件。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  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

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

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

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

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<boolean>

當前公共事件的是否為粘性公共事件。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  2. //獲取當前公共事件是否為粘性事件的回調
  3. function isStickyCallback(err, isSticky) {
  4. if (err) {
  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>

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

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

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

返回值:

類型

說明

Promise<boolean>

當前公共事件的是否為粘性公共事件。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  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

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

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

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<void>

取消當前的公共事件。

示例:

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

abortCommonEvent

abortCommonEvent(): Promise<void>

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

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

返回值:

類型

說明

Promise<void>

返回一個Promise的結果。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  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

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

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

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<void>

表示被指定的回調方法。

示例:

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

clearAbortCommonEvent

clearAbortCommonEvent(): Promise<void>

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

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

返回值:

類型

說明

Promise<void>

返回一個Promise的結果。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  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

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

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

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<boolean>

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

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  2. //獲取當前有序公共事件是否取消的回調
  3. function getAbortCallback(err, AbortCommonEvent) {
  4. if (err) {
  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>

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

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

返回值:

類型

說明

Promise<boolean>

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

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  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ù)名

類型

必填

說明

callback

AsyncCallback<CommonEventSubscribeInfo>

表示訂閱者的訂閱信息。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  2. //獲取訂閱者信息回調
  3. function getSubscribeInfoCallback(err, SubscribeInfo) {
  4. if (err) {
  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

返回值:

類型

說明

Promise<CommonEventSubscribeInfo>

表示訂閱者的訂閱信息。

示例:

  1. var subscriber; //創(chuàng)建成功的訂閱者對象
  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

結束當前有序公共事件(callback形式)。

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

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<void>

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

示例:

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

finishCommonEvent9+

finishCommonEvent(): Promise<void>

結束當前有序公共事件(Promise形式)。

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

返回值:

類型

說明

Promise<void>

返回一個Promise的結果。

示例:

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

CommonEventData

系統(tǒng)能力: 以下各項對應的系統(tǒng)能力均為SystemCapability.Notification.CommonEvent

名稱

類型

可讀

可寫

說明

event

string

表示當前接收的公共事件名稱。

bundleName

string

表示包名稱。

code

number

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

data

string

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

parameters

{[key: string]: any}

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

CommonEventPublishData

系統(tǒng)能力: 以下各項對應的系統(tǒng)能力均為SystemCapability.Notification.CommonEvent

名稱

類型

可讀

可寫

說明

bundleName

string

表示包名稱。

code

number

表示公共事件的結果代碼。

data

string

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

subscriberPermissions

Array<string>

表示訂閱者的權限。

isOrdered

boolean

表示是否是有序事件。

isSticky

boolean

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

parameters

{[key: string]: any}

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

CommonEventSubscribeInfo

系統(tǒng)能力: 以下各項對應的系統(tǒng)能力均為SystemCapability.Notification.CommonEvent

名稱

類型

可讀

可寫

說明

events

Array<string>

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

publisherPermission

string

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

publisherDeviceId

string

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

userId

number

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

priority

number

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

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號