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