#鸿蒙学习大百科#如何实现公共事件的动态订阅?

如何实现公共事件的动态订阅?

HarmonyOS
2024-10-22 09:09:05
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
努力向前进
//1.导入模块
import Base from '@ohos.base';
import commonEventManager from '@ohos.commonEventManager';
import promptAction from '@ohos.promptAction';
//2.创建订阅者信息
// 用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
let subscriber: commonEventManager.CommonEventSubscriber | null = null;
// 订阅者信息,其中的event字段需要替换为实际的事件名称。
let subscribeInfo: commonEventManager.CommonEventSubscribeInfo = {
  events: ['event'], // 订阅灭屏公共事件
};
//3.创建订阅者
// 创建订阅者回调
commonEventManager.createSubscriber(subscribeInfo, (err: Base.BusinessError, data: commonEventManager.CommonEventSubscriber) => {
  if (err) {
    console.error(`Failed to create subscriber. Code is ${err.code}, message is ${err.message}`);
    return;
  }
  console.info('Succeeded in creating subscriber.');
  subscriber = data;
  // 订阅公共事件回调
})
// 4.创建订阅回调函数
// 订阅公共事件回调
if (this.subscriber !== null) {
  commonEventManager.subscribe(subscriber, (err: Base.BusinessError, data: commonEventManager.CommonEventData) => {
    if (err) {
      console.error(`Failed to subscribe common event. Code is ${err.code}, message is ${err.message}`);
      return;
    }
  })
} else {
  console.error(`Need create subscriber`);
}
分享
微博
QQ
微信
回复
2024-10-22 22:09:37
相关问题
用户订阅系统公共事件
1115浏览 • 1回复 待解决
公共事件实现跨进程通信
873浏览 • 1回复 待解决
#鸿蒙学习大百科#如何实现ui优化?
229浏览 • 1回复 待解决
#鸿蒙学习大百科#ArkTS如何生成xml?
302浏览 • 1回复 待解决