common-event-remove-sticky.md 1.5 KB
Newer Older
1
# 移除粘性公共事件(仅对系统应用开放)
F
fangJinliang1 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18


## 场景介绍

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

## 接口说明

参考[接口文档](../reference/apis/js-apis-commonEventManager.md)

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


## 开发步骤

19 20 21 22
1. 需要申请`ohos.permission.COMMONEVENT_STICKY`权限,配置方式请参见[配置文件权限声明](typora://app/security/accesstoken-guidelines.md#配置文件权限声明)

2. 导入模块。

F
fangJinliang1 已提交
23 24 25 26
   ```ts
   import commonEventManager from '@ohos.commonEventManager';
   ```

27 28 29 30 31
3. 调用[`removeStickyCommonEvent()`](/reference/apis/js-apis-commonEventManager.md#commoneventmanagerremovestickycommonevent10)方法移除对应的粘性公共事件。

   > **说明:**
   >
   > 移除的粘性公共事件,必须是本应用之前已发布的粘性公共事件,发布粘性公共事件参考[公共事件发布](common-event-publish.md)章节。
F
fangJinliang1 已提交
32 33

   ```ts
34 35 36 37 38 39
   commonEventManager.removeStickyCommonEvent("sticky_event", (err) => { // 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.`);
F
fangJinliang1 已提交
40 41 42
   });
   ```