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


## 场景介绍

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

## 接口说明

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

| 接口名 | 接口描述 |
| -------- | -------- |
Z
zengyawen 已提交
14
| removeStickyCommonEvent(event: string, callback: AsyncCallback\<void>): void | 移除粘性公共事件 |
F
fangJinliang1 已提交
15 16 17 18


## 开发步骤

zyjhandsome's avatar
zyjhandsome 已提交
19
1. 需要申请`ohos.permission.COMMONEVENT_STICKY`权限,配置方式请参见[配置文件权限声明](../security/accesstoken-guidelines.md#配置文件权限声明)
20 21 22

2. 导入模块。

F
fangJinliang1 已提交
23 24
   ```ts
   import commonEventManager from '@ohos.commonEventManager';
X
xuzhihao 已提交
25
   import Base from '@ohos.base';
F
fangJinliang1 已提交
26 27
   ```

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

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

   ```ts
X
xuzhihao 已提交
35
   commonEventManager.removeStickyCommonEvent("sticky_event", (err: Base.BusinessError) => { // sticky_event粘性公共事件名
36 37 38 39 40
     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 已提交
41 42 43
   });
   ```