• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 移除粘性公共事件(仅对系统应用开放)
2
3
4## 场景介绍
5
6已发出的粘性公共事件后来订阅者也可以接收到,如果这个事件不再转发,需要事件发布者进行移除。系统提供了粘性公共事件移除接口。
7
8## 接口说明
9
10参考[接口文档](../../reference/apis-basic-services-kit/js-apis-commonEventManager.md)。
11
12| 接口名 | 接口描述 |
13| -------- | -------- |
14| removeStickyCommonEvent(event: string, callback: AsyncCallback\<void>): void | 移除粘性公共事件 |
15
16
17## 开发步骤
18
191. 需要申请`ohos.permission.COMMONEVENT_STICKY`权限,配置方式请参见[声明权限](../../security/AccessToken/declare-permissions.md)。
20
212. 导入模块。
22
23   ```ts
24   import Base from '@ohos.base';
25   import commonEventManager from '@ohos.commonEventManager';
26
27   const TAG: string = 'ProcessModel';
28   ```
29
303. 调用[`removeStickyCommonEvent()`](../../reference/apis-basic-services-kit/js-apis-commonEventManager-sys.md#commoneventmanagerremovestickycommonevent10)方法移除对应的粘性公共事件。
31
32   > **说明:**
33   >
34   > 移除的粘性公共事件,必须是本应用之前已发布的粘性公共事件,发布粘性公共事件参考[公共事件发布](common-event-publish.md)章节。
35
36   ```ts
37   // 移除粘性公共事件,其中的event字段需要替换为实际的事件名称。
38   commonEventManager.removeStickyCommonEvent('event', (err: Base.BusinessError) => {
39     // sticky_event粘性公共事件名
40     if (err) {
41       console.error(TAG, `Failed to remove sticky common event. Code is ${err.code}, message is ${err.message}`);
42       return;
43     }
44     ...
45     console.info(TAG, `Succeeded in removeing sticky event.`);
46   });
47   ```
48
49