js-apis-commonEventManager.md 21.3 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.commonEventManager (公共事件模块)
Z
ces doc  
zhuhan 已提交
2

L
Leon 已提交
3
本模块提供了公共事件相关的能力,包括发布公共事件、订阅公共事件、以及退订公共事件。
Z
ces doc  
zhuhan 已提交
4 5 6 7 8 9 10 11 12 13 14 15 16

> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

## 导入模块

```ts
import CommonEventManager from '@ohos.commonEventManager';
```

## Support

L
Leon 已提交
17
系统公共事件是指由系统服务或系统应用发布的事件,订阅这些系统公共事件需要特定的权限。发布或订阅这些事件需要使用如下链接中的枚举定义。
Z
ces doc  
zhuhan 已提交
18

L
Leon 已提交
19
全部系统公共事件枚举定义请参见[系统公共事件定义](./commonEventManager-definitions.md)
Z
ces doc  
zhuhan 已提交
20 21 22

## CommonEventManager.publish

23
publish(event: string, callback: AsyncCallback\<void>): void
Z
ces doc  
zhuhan 已提交
24

L
Leon 已提交
25
发布公共事件,并在发布后执行相应的回调函数。
Z
ces doc  
zhuhan 已提交
26

F
fangJinliang1 已提交
27
**系统能力:** SystemCapability.Notification.CommonEvent
Z
ces doc  
zhuhan 已提交
28 29 30

**参数:**

X
xuzhihao 已提交
31
| 参数名     | 类型                 | 必填 | 说明                   |
Z
ces doc  
zhuhan 已提交
32 33
| -------- | -------------------- | ---- | ---------------------- |
| event    | string               | 是   | 表示要发送的公共事件。 |
L
Leon 已提交
34
| callback | AsyncCallback\<void> | 是   | 表示事件发布后将要执行的回调函数。 |
Z
ces doc  
zhuhan 已提交
35 36 37

**错误码:**

L
Leon 已提交
38
错误码介绍请参考[@ohos.commonEventManager(事件)](../errorcodes/errorcode-CommonEventService.md)
Z
ces doc  
zhuhan 已提交
39

40 41 42 43 44 45 46
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1500004  | not System services.                |
| 1500007  | error sending message to Common Event Service. |
| 1500008  | Common Event Service does not complete initialization. |
| 1500009  | error obtaining system parameters.  |

Z
ces doc  
zhuhan 已提交
47 48 49 50
**示例:**

```ts
//发布公共事件回调
L
Leon 已提交
51
function publishCB(err) {
Z
ces doc  
zhuhan 已提交
52
	if (err) {
53
        console.error(`publish failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
54 55 56 57 58 59 60
    } else {
        console.info("publish");
    }
}

//发布公共事件
try {
L
Leon 已提交
61
    CommonEventManager.publish("event", publishCB);
Z
ces doc  
zhuhan 已提交
62
} catch(err) {
63
    console.error(`publish failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
64 65 66 67 68
}
```

## CommonEventManager.publish

69
publish(event: string, options: CommonEventPublishData, callback: AsyncCallback\<void>): void
Z
ces doc  
zhuhan 已提交
70

L
Leon 已提交
71
以回调的形式发布公共事件。
Z
ces doc  
zhuhan 已提交
72

F
fangJinliang1 已提交
73
**系统能力:**SystemCapability.Notification.CommonEvent
Z
ces doc  
zhuhan 已提交
74 75 76

**参数:**

X
xuzhihao 已提交
77
| 参数名     | 类型                   | 必填 | 说明                   |
Z
ces doc  
zhuhan 已提交
78 79
| -------- | ---------------------- | ---- | ---------------------- |
| event    | string                 | 是   | 表示要发布的公共事件。  |
Z
zhuhan 已提交
80
| options  | [CommonEventPublishData](./js-apis-inner-commonEvent-commonEventPublishData.md) | 是   | 表示发布公共事件的属性。 |
Z
ces doc  
zhuhan 已提交
81 82 83 84
| callback | syncCallback\<void>   | 是   | 表示被指定的回调方法。  |

**错误码:**

L
Leon 已提交
85
错误码介绍请参考[@ohos.commonEventManager(事件)](../errorcodes/errorcode-CommonEventService.md)
Z
zhuhan 已提交
86

87 88 89 90 91 92 93
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1500004  | not System services.                |
| 1500007  | error sending message to Common Event Service. |
| 1500008  | Common Event Service does not complete initialization. |
| 1500009  | error obtaining system parameters.  |

Z
ces doc  
zhuhan 已提交
94 95 96 97
**示例:**

```ts
//公共事件相关信息
L
Leon 已提交
98
let options = {
Z
ces doc  
zhuhan 已提交
99 100 101 102 103 104
	code: 0,			 //公共事件的初始代码
	data: "initial data",//公共事件的初始数据
	isOrdered: true	 //有序公共事件
}

//发布公共事件回调
L
Leon 已提交
105
function publishCB(err) {
Z
ces doc  
zhuhan 已提交
106
	if (err) {
107
        console.error(`publish failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
108 109 110 111 112 113 114
    } else {
        console.info("publish");
    }
}

//发布公共事件
try {
L
Leon 已提交
115
    CommonEventManager.publish("event", options, publishCB);
Z
ces doc  
zhuhan 已提交
116
} catch (err) {
117
    console.error(`publish failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
118 119 120 121 122
}
```

## CommonEventManager.publishAsUser<sup>

123
publishAsUser(event: string, userId: number, callback: AsyncCallback\<void>): void
Z
ces doc  
zhuhan 已提交
124

L
Leon 已提交
125
以回调的形式向指定用户发布公共事件。
Z
ces doc  
zhuhan 已提交
126

F
fangJinliang1 已提交
127
**系统能力:** SystemCapability.Notification.CommonEvent
Z
ces doc  
zhuhan 已提交
128 129 130 131 132

**系统API**:此接口为系统接口,三方应用不支持调用。

**参数:**

X
xuzhihao 已提交
133
| 参数名     | 类型                 | 必填 | 说明                               |
Z
ces doc  
zhuhan 已提交
134 135 136 137 138 139
| -------- | -------------------- | ---- | ---------------------------------- |
| event    | string               | 是   | 表示要发送的公共事件。             |
| userId   | number               | 是   | 表示指定向该用户ID发送此公共事件。 |
| callback | AsyncCallback\<void> | 是   | 表示被指定的回调方法。             |

**错误码:**
L
Leon 已提交
140 141

错误码介绍请参考[@ohos.commonEventManager(事件)](../errorcodes/errorcode-CommonEventService.md)
Z
ces doc  
zhuhan 已提交
142

143 144 145 146 147 148 149
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1500004  | not System services.                |
| 1500007  | error sending message to Common Event Service. |
| 1500008  | Common Event Service does not complete initialization. |
| 1500009  | error obtaining system parameters.  |

Z
ces doc  
zhuhan 已提交
150 151 152 153
**示例:**

```ts
//发布公共事件回调
L
Leon 已提交
154
function publishCB(err) {
Z
ces doc  
zhuhan 已提交
155
	if (err) {
156
        console.error(`publishAsUser failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
157 158 159 160 161 162
    } else {
        console.info("publishAsUser");
    }
}

//指定发送的用户
L
Leon 已提交
163
let userId = 100;
Z
ces doc  
zhuhan 已提交
164 165 166

//发布公共事件
try {
L
Leon 已提交
167
    CommonEventManager.publishAsUser("event", userId, publishCB);
Z
ces doc  
zhuhan 已提交
168
} catch (err) {
169
    console.error(`publishAsUser failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
170 171 172 173 174
}
```

## CommonEventManager.publishAsUser

175
publishAsUser(event: string, userId: number, options: CommonEventPublishData, callback: AsyncCallback\<void>): void
Z
ces doc  
zhuhan 已提交
176

L
Leon 已提交
177
以回调形式向指定用户发布公共事件并指定发布信息。
Z
ces doc  
zhuhan 已提交
178

F
fangJinliang1 已提交
179
**系统能力:** SystemCapability.Notification.CommonEvent
Z
ces doc  
zhuhan 已提交
180 181 182 183 184

**系统API**:此接口为系统接口,三方应用不支持调用。

**参数:**

X
xuzhihao 已提交
185
| 参数名     | 类型                   | 必填 | 说明                   |
Z
ces doc  
zhuhan 已提交
186 187 188
| -------- | ---------------------- | ---- | ---------------------- |
| event    | string                 | 是   | 表示要发布的公共事件。  |
| userId   | number | 是 | 表示指定向该用户ID发送此公共事件。 |
Z
zhuhan 已提交
189
| options  | [CommonEventPublishData](./js-apis-inner-commonEvent-commonEventPublishData.md) | 是   | 表示发布公共事件的属性。 |
Z
ces doc  
zhuhan 已提交
190 191 192
| callback | AsyncCallback\<void>   | 是   | 表示被指定的回调方法。  |

**错误码:**
L
Leon 已提交
193 194

错误码介绍请参考[@ohos.commonEventManager(事件)](../errorcodes/errorcode-CommonEventService.md)
Z
ces doc  
zhuhan 已提交
195

196 197
| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
198
| 1500004  | not System services or System app.                |
199 200 201 202
| 1500007  | error sending message to Common Event Service. |
| 1500008  | Common Event Service does not complete initialization. |
| 1500009  | error obtaining system parameters.  |

Z
ces doc  
zhuhan 已提交
203 204 205 206 207
**示例:**


```ts
//公共事件相关信息
L
Leon 已提交
208
let options = {
Z
ces doc  
zhuhan 已提交
209 210 211 212 213
	code: 0,			 //公共事件的初始代码
	data: "initial data",//公共事件的初始数据
}

//发布公共事件回调
L
Leon 已提交
214
function publishCB(err) {
Z
ces doc  
zhuhan 已提交
215
	if (err) {
216
        console.error(`publishAsUser failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
217 218 219 220 221 222
    } else {
        console.info("publishAsUser");
    }
}

//指定发送的用户
L
Leon 已提交
223
let userId = 100;
Z
ces doc  
zhuhan 已提交
224 225 226

//发布公共事件
try {
L
Leon 已提交
227
    CommonEventManager.publishAsUser("event", userId, options, publishCB);
Z
ces doc  
zhuhan 已提交
228
} catch (err) {
229
    console.error(`publishAsUser failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
230 231 232 233 234
}
```

## CommonEventManager.createSubscriber

235
createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback\<CommonEventSubscriber>): void
Z
ces doc  
zhuhan 已提交
236

L
Leon 已提交
237
以回调形式创建订阅者。
Z
ces doc  
zhuhan 已提交
238

F
fangJinliang1 已提交
239
**系统能力:** SystemCapability.Notification.CommonEvent
Z
ces doc  
zhuhan 已提交
240 241 242

**参数:**

X
xuzhihao 已提交
243
| 参数名          | 类型                                                         | 必填 | 说明                       |
Z
ces doc  
zhuhan 已提交
244
| ------------- | ------------------------------------------------------------ | ---- | -------------------------- |
Z
zhuhan 已提交
245 246
| subscribeInfo | [CommonEventSubscribeInfo](./js-apis-inner-commonEvent-commonEventSubscribeInfo.md)        | 是   | 表示订阅信息。             |
| callback      | AsyncCallback\<[CommonEventSubscriber](./js-apis-inner-commonEvent-commonEventSubscriber.md)> | 是   | 表示创建订阅者的回调方法。 |
Z
ces doc  
zhuhan 已提交
247 248 249 250

**示例:**

```ts
L
Leon 已提交
251
let subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
Z
ces doc  
zhuhan 已提交
252 253

//订阅者信息
L
Leon 已提交
254
let subscribeInfo = {
Z
ces doc  
zhuhan 已提交
255 256 257 258
    events: ["event"]
};

//创建订阅者回调
L
Leon 已提交
259
function createCB(err, commonEventSubscriber) {
Z
ces doc  
zhuhan 已提交
260 261 262 263
    if(!err) {
        console.info("createSubscriber");
        subscriber = commonEventSubscriber;
    } else {
264
        console.error(`createSubscriber failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
265 266 267 268 269
    }
}

//创建订阅者
try {
L
Leon 已提交
270
    CommonEventManager.createSubscriber(subscribeInfo, createCB);
Z
ces doc  
zhuhan 已提交
271
} catch (err) {
272
    console.error(`createSubscriber failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
273 274 275 276 277
}
```

## CommonEventManager.createSubscriber

278
createSubscriber(subscribeInfo: CommonEventSubscribeInfo): Promise\<CommonEventSubscriber>
Z
ces doc  
zhuhan 已提交
279

L
Leon 已提交
280
以Promise形式创建订阅者。
Z
ces doc  
zhuhan 已提交
281

F
fangJinliang1 已提交
282
**系统能力:** SystemCapability.Notification.CommonEvent
Z
ces doc  
zhuhan 已提交
283 284 285

**参数:**

X
xuzhihao 已提交
286
| 参数名          | 类型                                                  | 必填 | 说明           |
Z
ces doc  
zhuhan 已提交
287
| ------------- | ----------------------------------------------------- | ---- | -------------- |
Z
zhuhan 已提交
288
| subscribeInfo | [CommonEventSubscribeInfo](./js-apis-inner-commonEvent-commonEventSubscribeInfo.md) | 是   | 表示订阅信息。 |
Z
ces doc  
zhuhan 已提交
289 290 291 292

**返回值:**
| 类型                                                      | 说明             |
| --------------------------------------------------------- | ---------------- |
Z
zhuhan 已提交
293
| Promise\<[CommonEventSubscriber](./js-apis-inner-commonEvent-commonEventSubscriber.md)> | 返回订阅者对象。 |
Z
ces doc  
zhuhan 已提交
294 295 296 297

**示例:**

```ts
L
Leon 已提交
298
let subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
Z
ces doc  
zhuhan 已提交
299 300

//订阅者信息
L
Leon 已提交
301
let subscribeInfo = {
Z
ces doc  
zhuhan 已提交
302 303 304 305
	events: ["event"]
};

//创建订阅者
L
Leon 已提交
306
CommonEventManager.createSubscriber(subscribeInfo).then((commonEventSubscriber) => {
Z
ces doc  
zhuhan 已提交
307 308 309
    console.info("createSubscriber");
    subscriber = commonEventSubscriber;
}).catch((err) => {
310
    console.error(`createSubscriber failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
311 312 313 314 315 316
});

```

## CommonEventManager.subscribe

317
subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback\<CommonEventData>): void
Z
ces doc  
zhuhan 已提交
318

L
Leon 已提交
319
以回调形式订阅公共事件。
Z
ces doc  
zhuhan 已提交
320

F
fangJinliang1 已提交
321
**系统能力:** SystemCapability.Notification.CommonEvent
Z
ces doc  
zhuhan 已提交
322 323 324

**参数:**

X
xuzhihao 已提交
325
| 参数名       | 类型                                                | 必填 | 说明                             |
Z
ces doc  
zhuhan 已提交
326
| ---------- | ---------------------------------------------------- | ---- | -------------------------------- |
Z
zhuhan 已提交
327 328
| subscriber | [CommonEventSubscriber](./js-apis-inner-commonEvent-commonEventSubscriber.md)     | 是   | 表示订阅者对象。                 |
| callback   | AsyncCallback\<[CommonEventData](./js-apis-inner-commonEvent-commonEventData.md)> | 是   | 表示接收公共事件数据的回调函数。 |
Z
ces doc  
zhuhan 已提交
329

330 331 332 333 334 335 336 337 338 339
**错误码:**

错误码介绍请参考[@ohos.commonEventManager(事件)](../errorcodes/errorcode-CommonEventService.md)

| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 801  | capability not supported.               |
| 1500007  | error sending message to Common Event Service. |
| 1500008  | Common Event Service does not complete initialization. |

Z
ces doc  
zhuhan 已提交
340 341 342 343
**示例:**

```ts
//订阅者信息
L
Leon 已提交
344
let subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
Z
ces doc  
zhuhan 已提交
345 346

//订阅者信息
L
Leon 已提交
347
let subscribeInfo = {
Z
ces doc  
zhuhan 已提交
348 349 350 351
    events: ["event"]
};

//订阅公共事件回调
L
Leon 已提交
352
function SubscribeCB(err, data) {
X
xuzhihao 已提交
353
    if (err) {
354
        console.error(`subscribe failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
355 356 357 358 359 360
    } else {
        console.info("subscribe ");
    }
}

//创建订阅者回调
X
xuzhihao 已提交
361
function createCB(err, commonEventSubscriber) {
Z
ces doc  
zhuhan 已提交
362 363
    if(!err) {
        console.info("createSubscriber");
X
xuzhihao 已提交
364
        subscriber = commonEventSubscriber;
Z
ces doc  
zhuhan 已提交
365 366
        //订阅公共事件
        try {
L
Leon 已提交
367
            CommonEventManager.subscribe(subscriber, SubscribeCB);
Z
ces doc  
zhuhan 已提交
368
        } catch (err) {
369
            console.error(`subscribe failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
370 371
        }
    } else {
372
        console.error(`createSubscriber failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
373 374 375 376 377
    }
}

//创建订阅者
try {
L
Leon 已提交
378
    CommonEventManager.createSubscriber(subscribeInfo, createCB);
Z
ces doc  
zhuhan 已提交
379
} catch (err) {
380
    console.error(`createSubscriber failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
381 382 383 384 385
}
```

## CommonEventManager.unsubscribe

386
unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback\<void>): void
Z
ces doc  
zhuhan 已提交
387

L
Leon 已提交
388
以回调形式取消订阅公共事件。
Z
ces doc  
zhuhan 已提交
389

F
fangJinliang1 已提交
390
**系统能力:** SystemCapability.Notification.CommonEvent
Z
ces doc  
zhuhan 已提交
391 392 393

**参数:**

X
xuzhihao 已提交
394
| 参数名       | 类型                                             | 必填 | 说明                     |
Z
ces doc  
zhuhan 已提交
395
| ---------- | ----------------------------------------------- | ---- | ------------------------ |
Z
zhuhan 已提交
396
| subscriber | [CommonEventSubscriber](./js-apis-inner-commonEvent-commonEventSubscriber.md) | 是   | 表示订阅者对象。         |
Z
ces doc  
zhuhan 已提交
397 398
| callback   | AsyncCallback\<void>                            | 否   | 表示取消订阅的回调方法。 |

399 400 401 402 403 404 405 406 407 408
**错误码:**

错误码介绍请参考[@ohos.commonEventManager(事件)](../errorcodes/errorcode-CommonEventService.md)

| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 801  | capability not supported.               |
| 1500007  | error sending message to Common Event Service. |
| 1500008  | Common Event Service does not complete initialization. |

Z
ces doc  
zhuhan 已提交
409 410 411
**示例:**

```ts
L
Leon 已提交
412
let subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
Z
ces doc  
zhuhan 已提交
413
//订阅者信息
L
Leon 已提交
414
let subscribeInfo = {
Z
ces doc  
zhuhan 已提交
415 416 417
    events: ["event"]
};
//订阅公共事件回调
L
Leon 已提交
418
function subscribeCB(err, data) {
Z
ces doc  
zhuhan 已提交
419
    if (err) {
420
        console.error(`subscribe failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
421 422 423 424 425
    } else {
        console.info("subscribe");
    }
}
//创建订阅者回调
X
xuzhihao 已提交
426
function createCB(err, commonEventSubscriber) {
Z
ces doc  
zhuhan 已提交
427
    if (err) {
428
        console.error(`createSubscriber failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
429 430
    } else {
        console.info("createSubscriber");
X
xuzhihao 已提交
431
        subscriber = commonEventSubscriber;
Z
ces doc  
zhuhan 已提交
432 433
        //订阅公共事件
        try {
L
Leon 已提交
434
            CommonEventManager.subscribe(subscriber, subscribeCB);
Z
ces doc  
zhuhan 已提交
435
        } catch(err) {
436
            console.error(`subscribe failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
437 438 439 440
        }
    }
}
//取消订阅公共事件回调
L
Leon 已提交
441
function unsubscribeCB(err) {
Z
ces doc  
zhuhan 已提交
442
    if (err) {
443
        console.error(`unsubscribe failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
444 445 446 447 448 449
    } else {
        console.info("unsubscribe");
    }
}
//创建订阅者
try {
L
Leon 已提交
450
    CommonEventManager.createSubscriber(subscribeInfo, createCB);
Z
ces doc  
zhuhan 已提交
451
} catch (err) {
452
    console.error(`createSubscriber failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
453 454 455 456
}

//取消订阅公共事件
try {
L
Leon 已提交
457
    CommonEventManager.unsubscribe(subscriber, unsubscribeCB);
Z
ces doc  
zhuhan 已提交
458
} catch (err) {
459
    console.error(`unsubscribe failed, code is ${err.code}, message is ${err.message}`);
Z
ces doc  
zhuhan 已提交
460
}
F
fangJinliang1 已提交
461 462 463 464
```

## CommonEventManager.removeStickyCommonEvent<sup>10+</sup>

465
removeStickyCommonEvent(event: string, callback: AsyncCallback\<void>): void
F
fangJinliang1 已提交
466 467 468 469 470 471 472

以回调形式移除粘性公共事件。

**系统能力:** SystemCapability.Notification.CommonEvent

**需要权限**:  ohos.permission.COMMONEVENT_STICKY

473 474
**系统API**:此接口为系统接口,三方应用不支持调用。

F
fangJinliang1 已提交
475 476 477 478 479 480 481
**参数:**

| 参数名   | 类型                 | 必填 | 说明                             |
| -------- | -------------------- | ---- | -------------------------------- |
| event    | string               | 是   | 表示被移除的粘性公共事件。       |
| callback | AsyncCallback\<void> | 是   | 表示移除粘性公共事件的回调方法。 |

482 483 484 485 486 487 488
**错误码:**

错误码介绍请参考[@ohos.commonEventManager(事件)](../errorcodes/errorcode-CommonEventService.md)

| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1500004  | not system service.                 |
489 490
| 1500007  | error sending message to Common Event Service.             |
| 1500008  | Common Event Service does not complete initialization.     |
491

F
fangJinliang1 已提交
492 493 494 495 496 497 498 499 500 501 502 503 504 505 506
**示例:**


```ts
CommonEventManager.removeStickyCommonEvent("sticky_event", (err) => {
    if (err) {
        console.info(`Remove sticky event AsyncCallback failed, errCode: ${err.code}, errMes: ${err.message}`);
        return;
    }
    console.info(`Remove sticky event AsyncCallback success`);
});
```

## CommonEventManager.removeStickyCommonEvent<sup>10+</sup>

507
removeStickyCommonEvent(event: string): Promise\<void>
F
fangJinliang1 已提交
508 509 510 511 512 513 514

以Promise形式移除粘性公共事件。

**系统能力:** SystemCapability.Notification.CommonEvent

**需要权限**:  ohos.permission.COMMONEVENT_STICKY

515 516
**系统API**:此接口为系统接口,三方应用不支持调用。

F
fangJinliang1 已提交
517 518 519 520 521 522 523 524 525 526 527 528
**参数:**

| 参数名 | 类型   | 必填 | 说明                       |
| ------ | ------ | ---- | -------------------------- |
| event  | string | 是   | 表示被移除的粘性公共事件。 |

**返回值:**

| 类型           | 说明                         |
| -------------- | ---------------------------- |
| Promise\<void> | 表示移除粘性公共事件的对象。 |

529 530 531 532 533 534 535
**错误码:**

错误码介绍请参考[@ohos.commonEventManager(事件)](../errorcodes/errorcode-CommonEventService.md)

| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1500004  | not system service.                 |
536 537
| 1500007  | error sending message to Common Event Service.             |
| 1500008  | Common Event Service does not complete initialization.     |
538

F
fangJinliang1 已提交
539 540 541 542
**示例:**


```ts
543
CommonEventManager.removeStickyCommonEvent("sticky_event").then(() => {
F
fangJinliang1 已提交
544 545 546 547 548 549
    console.info(`Remove sticky event AsyncCallback success`);
}).catch ((err) => {
    console.info(`Remove sticky event AsyncCallback failed, errCode: ${err.code}, errMes: ${err.message}`);
});
```

550 551 552 553 554 555 556 557 558 559 560 561 562 563 564
## CommonEventManager.setStaticSubscriberState<sup>10+</sup>

setStaticSubscriberState(enable: boolean, callback: AsyncCallback\<void>): void;

方法介绍:为当前应用设置静态订阅事件使能或去使能状态。使用callback异步回调。

**系统能力:** SystemCapability.Notification.CommonEvent

**系统API**:此接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名 | 类型   | 必填 | 说明                       |
| ------ | ------ | ---- | -------------------------- |
| enable  | boolean | 是   | 表示静态订阅事件使能状态。 true:使能 false:去使能。 |
Z
zengyawen 已提交
565
| callback  | AsyncCallback\<void> | 是   | 表示设置静态订阅事件使能状态的回调方法。 |
566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633

**错误码:**

错误码介绍请参考[@ohos.commonEventManager(事件)](../errorcodes/errorcode-CommonEventService.md)

| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1500007  | error sending message to Common Event Service.             |
| 1500008  | Common Event Service does not complete initialization.     |

**示例:**


```ts
CommonEventManager.setStaticSubscriberState(true, (err) => {
    if (!err) {
        console.info(`Set static subscriber state callback failed, err is null.`);
        return;
    }
    if (err.code) {
        console.info(`Set static subscriber state callback failed, errCode: ${err.code}, errMes: ${err.message}`);
        return;
    }
    console.info(`Set static subscriber state callback success`);
});
```

## CommonEventManager.setStaticSubscriberState<sup>10+</sup>

setStaticSubscriberState(enable: boolean): Promise\<void>;

方法介绍:为当前应用设置静态订阅事件使能或去使能状态。使用Promise异步回调。

**系统能力:** SystemCapability.Notification.CommonEvent

**系统API**:此接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名 | 类型   | 必填 | 说明                       |
| ------ | ------ | ---- | -------------------------- |
| enable  | boolean | 是   | 表示静态订阅事件使能状态。 true:使能 false:去使能。 |

**返回值:**

| 类型           | 说明                         |
| -------------- | ---------------------------- |
| Promise\<void> | 表示设置静态订阅事件使能状态的对象。 |

**错误码:**

错误码介绍请参考[@ohos.commonEventManager(事件)](../errorcodes/errorcode-CommonEventService.md)

| 错误码ID | 错误信息                            |
| -------- | ----------------------------------- |
| 1500007  | error sending message to Common Event Service.             |
| 1500008  | Common Event Service does not complete initialization.     |

**示例:**


```ts
CommonEventManager.setStaticSubscriberState(false).then(() => {
    console.info(`Set static subscriber state promise success`);
}).catch ((err) => {
    console.info(`Set static subscriber state promise failed, errCode: ${err.code}, errMes: ${err.message}`);
});
```