移除粘性公共事件(仅对系统应用开放)

场景介绍

已发出的粘性公共事件后来订阅者也可以接收到,如果这个事件不再转发,需要事件发布者进行移除。OpenHarmony提供了粘性公共事件移除接口。

接口说明

参考接口文档

接口名 接口描述
removeStickyCommonEvent(event: string, callback: AsyncCallback<void>): void 移除粘性公共事件

开发步骤

  1. 需要申请ohos.permission.COMMONEVENT_STICKY权限,配置方式请参见配置文件权限声明

  2. 导入模块。

    import commonEventManager from '@ohos.commonEventManager';
    import Base from '@ohos.base';
    
  3. 调用removeStickyCommonEvent()方法移除对应的粘性公共事件。

    说明:

    移除的粘性公共事件,必须是本应用之前已发布的粘性公共事件,发布粘性公共事件参考公共事件发布章节。

    commonEventManager.removeStickyCommonEvent("sticky_event", (err: Base.BusinessError) => { // sticky_event粘性公共事件名
      if (err) {
        console.error(`Failed to remove sticky common event. Code is ${err.code}, message is ${err.message}`);
        return;
      }
      console.info(`Succeeded in removeing sticky event.`);
    });