js-apis-inner-commonEvent-commonEventSubscriber.md 25.0 KB
Newer Older
Z
zhuhan 已提交
1 2
# CommonEventSubscriber

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

## 使用说明

在使用CommonEventSubscriber的功能前,需要通过CommonEvent.createSubscriber获取subscriber对象。
Z
zhuhan 已提交
10 11

```ts
12
import CommonEvent from '@ohos.commonEvent';
X
XKK 已提交
13 14 15
import CommonEventManager from '@ohos.commonEventManager';
import Base from '@ohos.base';
let subscriber:CommonEventManager.CommonEventSubscriber; // 用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作
16 17

// 订阅者信息
X
XKK 已提交
18
let subscribeInfo:CommonEventManager.CommonEventSubscribeInfo = {
19 20 21 22
	events: ["event"]
};

// 创建订阅者回调
X
XKK 已提交
23
function createCB(err:Base.BusinessError, commonEventSubscriber:CommonEventManager.CommonEventSubscriber) {
X
XKK 已提交
24
    if (err.code !== undefined && err.code != null) {
25 26 27 28 29 30 31 32 33
        console.error(`createSubscriber failed, code is ${err.code}`);
    } else {
        console.info("createSubscriber");
        subscriber = commonEventSubscriber;
    }
}

// 创建订阅者
CommonEvent.createSubscriber(subscribeInfo, createCB);
Z
zhuhan 已提交
34 35
```

36 37 38 39
## getCode

getCode(callback: AsyncCallback\<number>): void

Z
zhuhan 已提交
40 41 42 43 44 45 46 47 48 49 50 51 52 53
以回调形式获取公共事件代码。

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

**参数:**

| 参数名   | 类型                   | 必填 | 说明               |
| -------- | ---------------------- | ---- | ------------------ |
| callback | AsyncCallback\<number\> | 是   | 公共事件代码。 |

**示例:**

```ts
//获取有序公共事件代码回调
X
XKK 已提交
54
function getCodeCB(err:Base.BusinessError, code:number) {
X
XKK 已提交
55
    if (err.code !== undefined && err.code != null) {
Z
zhuhan 已提交
56 57 58 59 60 61 62 63 64 65
        console.error(`getCode failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("getCode " + JSON.stringify(code));
    }
}
subscriber.getCode(getCodeCB);
```

## getCode

66
getCode(): Promise\<number>
Z
zhuhan 已提交
67 68 69 70 71 72 73 74 75 76 77 78 79 80

以Promise形式获取公共事件代码。

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

**返回值:**

| 类型             | 说明                 |
| ---------------- | -------------------- |
| Promise\<number> | 公共事件代码。 |

**示例:**

```ts
X
XKK 已提交
81
subscriber.getCode().then((code:number) => {
Z
zhuhan 已提交
82
    console.info("getCode " + JSON.stringify(code));
X
XKK 已提交
83
}).catch((err:Base.BusinessError) => {
Z
zhuhan 已提交
84 85 86 87
    console.error(`getCode failed, code is ${err.code}, message is ${err.message}`);
});
```

Z
zhuhan 已提交
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
## getCodeSync

getCodeSync(): number

getCode的同步接口

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

**返回值:**

| 类型             | 说明                 |
| ---------------- | -------------------- |
| number | 公共事件代码。 |

**示例:**

```ts
let code = subscriber.getCodeSync();
console.info("getCodeSync " + JSON.stringify(code));
```

Z
zhuhan 已提交
109 110
## setCode

111
setCode(code: number, callback: AsyncCallback\<void>): void
Z
zhuhan 已提交
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

以回调形式设置公共事件的代码。

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

**参数:**

| 参数名   | 类型                 | 必填 | 说明                   |
| -------- | -------------------- | ---- | ---------------------- |
| code     | number               | 是   | 公共事件的代码。   |
| callback | AsyncCallback\<void> | 是   | 表示被指定的回调方法。 |

**示例:**

```ts
//设置有序公共事件的代码回调
X
XKK 已提交
128
function setCodeCB(err:Base.BusinessError) {
X
XKK 已提交
129
    if (err.code !== undefined && err.code != null) {
Z
zhuhan 已提交
130 131 132 133 134 135 136 137 138 139
        console.error(`setCode failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("setCode");
    }
}
subscriber.setCode(1, setCodeCB);
```

## setCode

140
setCode(code: number): Promise\<void>
Z
zhuhan 已提交
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

以Promise形式设置公共事件的代码。

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

**参数:**

| 参数名 | 类型   | 必填 | 说明               |
| ------ | ------ | ---- | ------------------ |
| code   | number | 是   | 公共事件的代码。 |

**返回值:**

| 类型             | 说明                 |
| ---------------- | -------------------- |
| Promise\<void>   | 返回一个Promise的结果。 |

**示例:**

```ts
subscriber.setCode(1).then(() => {
    console.info("setCode");
X
XKK 已提交
163
}).catch((err:Base.BusinessError) => {
Z
zhuhan 已提交
164 165 166 167
    console.error(`setCode failed, code is ${err.code}, message is ${err.message}`);
});
```

Z
zhuhan 已提交
168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
## setCodeSync

setCodeSync(code: number): void

setCode的同步接口

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

**参数:**

| 参数名 | 类型   | 必填 | 说明               |
| ------ | ------ | ---- | ------------------ |
| code   | number | 是   | 公共事件的代码。 |


**示例:**

```ts

try {
    subscriber.setCodeSync(1);
} catch (err) {
    console.error(`setCodeSync failed, code is ${err.code}, message is ${err.message}`);
}
```

Z
zhuhan 已提交
194 195
## getData

196
getData(callback: AsyncCallback\<string>): void
Z
zhuhan 已提交
197 198 199 200 201 202 203 204 205 206 207 208 209 210 211

以回调形式获取公共事件的数据。

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

**参数:**

| 参数名   | 类型                   | 必填 | 说明                 |
| -------- | ---------------------- | ---- | -------------------- |
| callback | AsyncCallback\<string> | 是   | 公共事件的数据。 |

**示例:**

```ts
//获取有序公共事件代码数据回调
X
XKK 已提交
212
function getDataCB(err:Base.BusinessError, data:string) {
X
XKK 已提交
213
    if (err.code !== undefined && err.code != null) {
Z
zhuhan 已提交
214 215 216 217 218 219 220 221 222 223
        console.error(`getData failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("getData " + JSON.stringify(data));
    }
}
subscriber.getData(getDataCB);
```

## getData

224
getData(): Promise\<string>
Z
zhuhan 已提交
225 226 227 228 229 230 231 232 233 234 235 236 237 238

以Promise形式获取公共事件的数据。

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

**返回值:**

| 类型             | 说明               |
| ---------------- | ------------------ |
| Promise\<string> | 公共事件的数据。 |

**示例:**

```ts
X
XKK 已提交
239
subscriber.getData().then((data:string) => {
Z
zhuhan 已提交
240
    console.info("getData " + JSON.stringify(data));
X
XKK 已提交
241
}).catch((err:Base.BusinessError) => {
Z
zhuhan 已提交
242 243 244 245
    console.error(`getData failed, code is ${err.code}, message is ${err.message}`);
});
```

Z
zhuhan 已提交
246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266
## getDataSync

getDataSync(): string

getData的同步接口

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

**返回值:**

| 类型             | 说明               |
| ---------------- | ------------------ |
| string | 公共事件的数据。 |

**示例:**

```ts
let data = subscriber.getDataSync();
console.info("getDataSync " + JSON.stringify(data));
```

Z
zhuhan 已提交
267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285
## setData

setData(data: string, callback: AsyncCallback\<void>): void

以回调形式设置公共事件的数据。

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

**参数:**

| 参数名   | 类型                 | 必填 | 说明                 |
| -------- | -------------------- | ---- | -------------------- |
| data     | string               | 是   | 公共事件的数据。   |
| callback | AsyncCallback\<void> | 是   | 表示被指定的回调方法。 |

**示例:**

```ts
//设置有序公共事件的结果数据回调
X
XKK 已提交
286
function setDataCB(err:Base.BusinessError) {
X
XKK 已提交
287
    if (err.code !== undefined && err.code != null) {
Z
zhuhan 已提交
288 289 290 291 292 293 294 295 296 297
        console.error(`setCode failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("setData");
    }
}
subscriber.setData("publish_data_changed", setDataCB);
```

## setData

298
setData(data: string): Promise\<void>
Z
zhuhan 已提交
299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320

以Promise形式设置公共事件的果数据。

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

**参数:**

| 参数名 | 类型   | 必填 | 说明                 |
| ------ | ------ | ---- | -------------------- |
| data   | string | 是   | 公共事件的数据。 |

**返回值:**

| 类型             | 说明                 |
| ---------------- | -------------------- |
| Promise\<void>   | 返回一个Promise的结果。 |

**示例:**

```ts
subscriber.setData("publish_data_changed").then(() => {
    console.info("setData");
X
XKK 已提交
321
}).catch((err:Base.BusinessError) => {
Z
zhuhan 已提交
322 323 324 325
    console.error(`setCode failed, code is ${err.code}, message is ${err.message}`);
});
```

Z
zhuhan 已提交
326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348
## setDataSync
setDataSync(data: string): void

setData的同步接口。

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

**参数:**

| 参数名 | 类型   | 必填 | 说明                 |
| ------ | ------ | ---- | -------------------- |
| data   | string | 是   | 公共事件的数据。 |

**示例:**

```ts
try {
    subscriber.setDataSync("publish_data_changed");
} catch (err) {
    console.error(`setDataSync failed, code is ${err.code}, message is ${err.message}`);
}
```

Z
zhuhan 已提交
349 350
## setCodeAndData

351
setCodeAndData(code: number, data: string, callback:AsyncCallback\<void>): void
Z
zhuhan 已提交
352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368

以回调形式设置公共事件代码和数据。

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

**参数:**

| 参数名   | 类型                 | 必填 | 说明                   |
| -------- | -------------------- | ---- | ---------------------- |
| code     | number               | 是   | 公共事件的代码。   |
| data     | string               | 是   | 公共事件的数据。   |
| callback | AsyncCallback\<void> | 是   | 表示被指定的回调方法。 |

**示例:**

```ts
//设置有序公共事件的代码和数据回调
X
XKK 已提交
369
function setCodeDataCB(err:Base.BusinessError) {
X
XKK 已提交
370
    if (err.code !== undefined && err.code != null) {
Z
zhuhan 已提交
371 372 373 374 375 376 377 378 379 380
        console.error(`setCodeAndData failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("setCodeDataCallback");
    }
}
subscriber.setCodeAndData(1, "publish_data_changed", setCodeDataCB);
```

## setCodeAndData

381
setCodeAndData(code: number, data: string): Promise\<void>
Z
zhuhan 已提交
382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404

以Promise形式设置公共事件的代码和数据。

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

**参数:**

| 参数名 | 类型   | 必填 | 说明                 |
| ------ | ------ | ---- | -------------------- |
| code   | number | 是   | 公共事件的代码。 |
| data   | string | 是   | 公共事件的数据。 |

**返回值:**

| 类型             | 说明                 |
| ---------------- | -------------------- |
| Promise\<void>   | 返回一个Promise。 |

**示例:**

```ts
subscriber.setCodeAndData(1, "publish_data_changed").then(() => {
    console.info("setCodeAndData");
X
XKK 已提交
405
}).catch((err:Base.BusinessError) => {
Z
zhuhan 已提交
406 407 408 409
    console.error(`setCodeAndData failed, code is ${err.code}, message is ${err.message}`);
});
```

Z
zhuhan 已提交
410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434
## setCodeAndDataSync

setCodeAndData的同步接口。

setCodeAndDataSync(code: number, data: string): void

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

**参数:**

| 参数名 | 类型   | 必填 | 说明                 |
| ------ | ------ | ---- | -------------------- |
| code   | number | 是   | 公共事件的代码。 |
| data   | string | 是   | 公共事件的数据。 |

**示例:**

```ts
try {
    subscriber.setCodeAndDataSync(1, "publish_data_changed");
} catch (err) {
    console.error(`setCodeAndData failed, code is ${err.code}, message is ${err.message}`);
}

```
Z
zhuhan 已提交
435 436
## isOrderedCommonEvent

437
isOrderedCommonEvent(callback: AsyncCallback\<boolean>): void
Z
zhuhan 已提交
438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454

以回调形式查询当前公共事件的是否为有序公共事件。

返回true代表是有序公共事件,false代表不是有序公共事件。

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

**参数:**

| 参数名   | 类型                    | 必填 | 说明                               |
| -------- | ----------------------- | ---- | ---------------------------------- |
| callback | AsyncCallback\<boolean> | 是   | 当前公共事件的是否为有序公共事件。 |

**示例:**

```ts
//获取当前公共事件是否为有序事件的回调
X
XKK 已提交
455
function isOrderedCB(err:Base.BusinessError, isOrdered:boolean) {
X
XKK 已提交
456
    if (err.code !== undefined && err.code != null) {
Z
zhuhan 已提交
457 458 459 460 461 462 463 464 465 466
        console.error(`isOrderedCommonEvent failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("isOrdered " + JSON.stringify(isOrdered));
    }
}
subscriber.isOrderedCommonEvent(isOrderedCB);
```

## isOrderedCommonEvent

467
isOrderedCommonEvent(): Promise\<boolean>
Z
zhuhan 已提交
468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483

以Promise形式查询当前公共事件的是否为有序公共事件。

返回true代表是有序公共事件,false代表不是有序公共事件。

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

**返回值:**

| 类型              | 说明                             |
| ----------------- | -------------------------------- |
| Promise\<boolean> | 当前公共事件的是否为有序公共事件。 |

**示例:**

```ts
X
XKK 已提交
484
subscriber.isOrderedCommonEvent().then((isOrdered:boolean) => {
Z
zhuhan 已提交
485
    console.info("isOrdered " + JSON.stringify(isOrdered));
X
XKK 已提交
486
}).catch((err:Base.BusinessError) => {
Z
zhuhan 已提交
487 488 489 490
    console.error(`isOrdered failed, code is ${err.code}, message is ${err.message}`);
});
```

Z
zhuhan 已提交
491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513
## isOrderedCommonEventSync

isOrderedCommonEventSync(): boolean

isOrderedCommonEvent的同步接口

返回true代表是有序公共事件,false代表不是有序公共事件。

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

**返回值:**

| 类型              | 说明                             |
| ----------------- | -------------------------------- |
| boolean | 当前公共事件的是否为有序公共事件。 |

**示例:**

```ts
let isOrdered  = subscriber.isOrderedCommonEventSync();
console.info("isOrdered " + JSON.stringify(isOrdered));
```

Z
zhuhan 已提交
514 515
## isStickyCommonEvent

516
isStickyCommonEvent(callback: AsyncCallback\<boolean>): void
Z
zhuhan 已提交
517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533

以回调形式检查当前公共事件是否为一个粘性事件。

返回true代表是粘性公共事件,false代表不是粘性公共事件。

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

**参数:**

| 参数名   | 类型                    | 必填 | 说明                               |
| -------- | ----------------------- | ---- | ---------------------------------- |
| callback | AsyncCallback\<boolean> | 是   | 当前公共事件的是否为粘性公共事件。 |

**示例:**

```ts
//获取当前公共事件是否为粘性事件的回调
X
XKK 已提交
534
function isStickyCB(err:Base.BusinessError, isSticky:boolean) {
X
XKK 已提交
535
    if (err.code !== undefined && err.code != null) {
Z
zhuhan 已提交
536 537 538 539 540 541 542 543 544 545
        console.error(`isStickyCommonEvent failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("isSticky " + JSON.stringify(isSticky));
    }
}
subscriber.isStickyCommonEvent(isStickyCB);
```

## isStickyCommonEvent

546
isStickyCommonEvent(): Promise\<boolean>
Z
zhuhan 已提交
547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562

以Promise形式检查当前公共事件是否为一个粘性事件。

返回true代表是粘性公共事件,false代表不是粘性公共事件。

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

**返回值:**

| 类型              | 说明                             |
| ----------------- | -------------------------------- |
| Promise\<boolean> | 当前公共事件的是否为粘性公共事件。 |

**示例:**

```ts
X
XKK 已提交
563
subscriber.isStickyCommonEvent().then((isSticky:boolean) => {
Z
zhuhan 已提交
564
    console.info("isSticky " + JSON.stringify(isSticky));
X
XKK 已提交
565
}).catch((err:Base.BusinessError) => {
Z
zhuhan 已提交
566 567 568 569
    console.error(`isSticky failed, code is ${err.code}, message is ${err.message}`);
});
```

Z
zhuhan 已提交
570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592
## isStickyCommonEventSync

isStickyCommonEventSync(): boolean

isStickyCommonEvent的同步接口。

返回true代表是粘性公共事件,false代表不是粘性公共事件。

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

**返回值:**

| 类型              | 说明                             |
| ----------------- | -------------------------------- |
| boolean | 当前公共事件的是否为粘性公共事件。 |

**示例:**

```ts
let isSticky  = subscriber.isStickyCommonEventSync();
console.info("isSticky " + JSON.stringify(isSticky));
```

Z
zhuhan 已提交
593 594
## abortCommonEvent

595
abortCommonEvent(callback: AsyncCallback\<void>): void
Z
zhuhan 已提交
596 597 598 599 600 601 602 603 604 605 606 607 608 609 610

以回调形式取消当前的有序公共事件,取消后,有序公共事件不再向下一个订阅者传递。

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

**参数:**

| 参数名   | 类型                 | 必填 | 说明                 |
| -------- | -------------------- | ---- | -------------------- |
| callback | AsyncCallback\<void> | 是   | 取消当前的有序公共事件。 |

**示例:**

```ts
//取消当前有序公共事件的回调
X
XKK 已提交
611
function abortCB(err:Base.BusinessError) {
X
XKK 已提交
612
    if (err.code !== undefined && err.code != null) {
Z
zhuhan 已提交
613 614 615 616 617 618 619 620 621 622
		console.error(`abortCommonEvent failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("abortCommonEvent");
    }
}
subscriber.abortCommonEvent(abortCB);
```

## abortCommonEvent

623
abortCommonEvent(): Promise\<void>
Z
zhuhan 已提交
624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639

以Promise形式取消当前的有序公共事件,取消后,公共事件不再向下一个订阅者传递。

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

**返回值:**

| 类型             | 说明                 |
| ---------------- | -------------------- |
| Promise\<void>   | 返回一个Promise的结果。 |

**示例:**

```ts
subscriber.abortCommonEvent().then(() => {
    console.info("abortCommonEvent");
X
XKK 已提交
640
}).catch((err:Base.BusinessError) => {
Z
zhuhan 已提交
641 642 643 644
    console.error(`abortCommonEvent failed, code is ${err.code}, message is ${err.message}`);
});
```

Z
zhuhan 已提交
645 646 647 648 649 650 651 652 653 654 655 656 657 658
## abortCommonEventSync

abortCommonEventSync(): void

abortCommonEvent的同步接口

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

**示例:**

```ts
subscriber.abortCommonEventSync();
```

Z
zhuhan 已提交
659 660
## clearAbortCommonEvent

661
clearAbortCommonEvent(callback: AsyncCallback\<void>): void
Z
zhuhan 已提交
662 663 664 665 666 667 668 669 670 671 672 673 674 675 676

以回调形式清除当前有序公共事件。

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

**参数:**

| 参数名   | 类型                 | 必填 | 说明                 |
| -------- | -------------------- | ---- | -------------------- |
| callback | AsyncCallback\<void> | 是   | 表示被指定的回调方法。 |

**示例:**

```ts
//清除当前公共事件取消状态的回调
X
XKK 已提交
677
function clearAbortCB(err:Base.BusinessError) {
X
XKK 已提交
678
    if (err.code !== undefined && err.code != null) {
Z
zhuhan 已提交
679 680 681 682 683 684 685 686 687 688
        console.error(`clearAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("clearAbortCommonEvent");
    }
}
subscriber.clearAbortCommonEvent(clearAbortCB);
```

## clearAbortCommonEvent

689
clearAbortCommonEvent(): Promise\<void>
Z
zhuhan 已提交
690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705

以Promise形式清除当前有序公共事件。

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

**返回值:**

| 类型             | 说明                 |
| ---------------- | -------------------- |
| Promise\<void>   | 返回一个Promise的结果。 |

**示例:**

```ts
subscriber.clearAbortCommonEvent().then(() => {
    console.info("clearAbortCommonEvent");
X
XKK 已提交
706
}).catch((err:Base.BusinessError) => {
Z
zhuhan 已提交
707 708 709 710
    console.error(`clearAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`);
});
```

Z
zhuhan 已提交
711 712 713 714 715 716 717 718 719 720 721 722 723 724
## clearAbortCommonEventSync

clearAbortCommonEventSync(): void

clearAbortCommonEvent的同步接口

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

**示例:**

```ts
subscriber.clearAbortCommonEventSync()
```

Z
zhuhan 已提交
725 726
## getAbortCommonEvent

727
getAbortCommonEvent(callback: AsyncCallback\<boolean>): void
Z
zhuhan 已提交
728 729 730 731 732 733 734 735 736 737 738 739 740 741 742

以回调形式获取当前有序公共事件是否取消的状态。

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

**参数:**

| 参数名   | 类型                    | 必填 | 说明                               |
| -------- | ----------------------- | ---- | ---------------------------------- |
| callback | AsyncCallback\<boolean> | 是   | 表示当前有序公共事件是否取消的状态。 |

**示例:**

```ts
//获取当前有序公共事件是否取消的回调
X
XKK 已提交
743
function getAbortCB(err:Base.BusinessError, abortEvent:boolean) {
X
XKK 已提交
744
    if (err.code !== undefined && err.code != null) {
Z
zhuhan 已提交
745 746 747 748 749 750 751 752 753 754
        console.error(`getAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("abortCommonEvent " + abortEvent)
    }
}
subscriber.getAbortCommonEvent(getAbortCB);
```

## getAbortCommonEvent

755
getAbortCommonEvent(): Promise\<boolean>
Z
zhuhan 已提交
756 757 758 759 760 761 762 763 764 765 766 767 768 769

以Promise形式获取当前有序公共事件是否取消的状态。

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

**返回值:**

| 类型              | 说明                               |
| ----------------- | ---------------------------------- |
| Promise\<boolean> | 表示当前有序公共事件是否取消的状态。 |

**示例:**

```ts
X
XKK 已提交
770
subscriber.getAbortCommonEvent().then((abortEvent:boolean) => {
Z
zhuhan 已提交
771
    console.info("abortCommonEvent " + JSON.stringify(abortEvent));
X
XKK 已提交
772
}).catch((err:Base.BusinessError) => {
Z
zhuhan 已提交
773 774 775 776
    console.error(`getAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`);
});
```

Z
zhuhan 已提交
777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797
## getAbortCommonEventSync

getAbortCommonEventSync(): boolean

getAbortCommonEvent的同步接口。

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

**返回值:**

| 类型              | 说明                               |
| ----------------- | ---------------------------------- |
| boolean | 表示当前有序公共事件是否取消的状态。 |

**示例:**

```ts
let abortEvent = subscriber.getAbortCommonEventSync();
console.info("getAbortCommonEventSync " + JSON.stringify(abortEvent));
```

Z
zhuhan 已提交
798 799
## getSubscribeInfo

800
getSubscribeInfo(callback: AsyncCallback\<CommonEventSubscribeInfo>): void
Z
zhuhan 已提交
801 802 803 804 805 806 807 808 809 810 811 812 813 814 815

以回调形式获取订阅者的订阅信息。

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

**参数:**

| 参数名   | 类型                                                         | 必填 | 说明                   |
| -------- | ------------------------------------------------------------ | ---- | ---------------------- |
| callback | AsyncCallback\<[CommonEventSubscribeInfo](./js-apis-inner-commonEvent-commonEventSubscribeInfo.md)> | 是   | 表示订阅者的订阅信息。 |

**示例:**

```ts
//获取订阅者信息回调
X
XKK 已提交
816
function getCB(err:Base.BusinessError, subscribeInfo:CommonEventManager.CommonEventSubscribeInfo) {
X
XKK 已提交
817
    if (err.code !== undefined && err.code != null) {
Z
zhuhan 已提交
818 819 820 821 822 823 824 825 826 827
        console.error(`getSubscribeInfo failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info("subscribeInfo " + JSON.stringify(subscribeInfo));
    }
}
subscriber.getSubscribeInfo(getCB);
```

## getSubscribeInfo

828
getSubscribeInfo(): Promise\<CommonEventSubscribeInfo>
Z
zhuhan 已提交
829 830 831 832 833 834 835 836 837 838 839 840 841 842

以Promise形式获取订阅者的订阅信息。

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

**返回值:**

| 类型                                                         | 说明                   |
| ------------------------------------------------------------ | ---------------------- |
| Promise\<[CommonEventSubscribeInfo](./js-apis-inner-commonEvent-commonEventSubscribeInfo.md)> | 表示订阅者的订阅信息。 |

**示例:**

```ts
X
XKK 已提交
843
subscriber.getSubscribeInfo().then((subscribeInfo:CommonEventManager.CommonEventSubscribeInfo) => {
Z
zhuhan 已提交
844
    console.info("subscribeInfo " + JSON.stringify(subscribeInfo));
X
XKK 已提交
845
}).catch((err:Base.BusinessError) => {
Z
zhuhan 已提交
846 847 848 849
    console.error(`getSubscribeInfo failed, code is ${err.code}, message is ${err.message}`);
});
```

Z
zhuhan 已提交
850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870
## getSubscribeInfoSync

getSubscribeInfoSync(): CommonEventSubscribeInfo

getSubscribeInfo的同步接口。

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

**返回值:**

| 类型                                                         | 说明                   |
| ------------------------------------------------------------ | ---------------------- |
| [CommonEventSubscribeInfo](./js-apis-inner-commonEvent-commonEventSubscribeInfo.md) | 表示订阅者的订阅信息。 |

**示例:**

```ts
let subscribeInfo = subscriber.getSubscribeInfoSync();
console.info("subscribeInfo " + JSON.stringify(subscribeInfo));
```

Z
zhuhan 已提交
871 872
## finishCommonEvent<sup>9+</sup>

873
finishCommonEvent(callback: AsyncCallback\<void>): void
Z
zhuhan 已提交
874 875 876 877 878 879 880 881 882 883 884 885 886 887 888

以回调形式结束当前有序公共事件。

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

**参数:**

| 参数名   | 类型                  | 必填 | 说明                              |
| -------- | -------------------- | ---- | -------------------------------- |
| callback | AsyncCallback\<void> | 是   | 表示有序公共事件结束后的回调函数。 |

**示例:**

```ts
//结束当前有序公共事件的回调
X
XKK 已提交
889
function finishCB(err:Base.BusinessError) {
X
XKK 已提交
890
  if (err.code !== undefined && err.code != null) {
Z
zhuhan 已提交
891
    console.error(`finishCommonEvent failed, code is ${err.code}, message is ${err.message}`);
892
  } else {
Z
zhuhan 已提交
893
    console.info("FinishCommonEvent");
894
  }
Z
zhuhan 已提交
895 896 897 898 899 900 901
}

subscriber.finishCommonEvent(finishCB);
```

## finishCommonEvent<sup>9+</sup>

902
finishCommonEvent(): Promise\<void>
Z
zhuhan 已提交
903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918

以Promise形式结束当前有序公共事件。

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

**返回值:**

| 类型             | 说明                 |
| ---------------- | -------------------- |
| Promise\<void>   | 返回一个Promise的结果。 |

**示例:**

```ts
subscriber.finishCommonEvent().then(() => {
    console.info("FinishCommonEvent");
X
XKK 已提交
919
}).catch((err:Base.BusinessError) => {
Z
zhuhan 已提交
920 921 922
    console.error(`finishCommonEvent failed, code is ${err.code}, message is ${err.message}`);
});
```