1# CommonEventSubscriber 2 3描述公共事件的订阅者。 4 5> **说明:** 6> 7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 使用说明 10 11在使用CommonEventSubscriber的功能前,需要通过CommonEvent.createSubscriber获取subscriber对象。 12 13```ts 14import CommonEvent from '@ohos.commonEvent'; 15import CommonEventManager from '@ohos.commonEventManager'; 16import Base from '@ohos.base'; 17let subscriber:CommonEventManager.CommonEventSubscriber; // 用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 18 19// 订阅者信息 20let subscribeInfo:CommonEventManager.CommonEventSubscribeInfo = { 21 events: ["event"] 22}; 23 24// 创建订阅者回调 25function createCB(err:Base.BusinessError, commonEventSubscriber:CommonEventManager.CommonEventSubscriber) { 26 if (err.code !== undefined && err.code != null) { 27 console.error(`createSubscriber failed, code is ${err.code}`); 28 } else { 29 console.info("createSubscriber"); 30 subscriber = commonEventSubscriber; 31 } 32} 33 34// 创建订阅者 35CommonEvent.createSubscriber(subscribeInfo, createCB); 36``` 37 38## getCode 39 40getCode(callback: AsyncCallback\<number>): void 41 42以回调形式获取公共事件代码。 43 44**系统能力**:`SystemCapability.Notification.CommonEvent` 45 46**参数:** 47 48| 参数名 | 类型 | 必填 | 说明 | 49| -------- | ---------------------- | ---- | ------------------ | 50| callback | AsyncCallback\<number\> | 是 | 公共事件代码。 | 51 52**示例:** 53 54```ts 55//获取有序公共事件代码回调 56function getCodeCB(err:Base.BusinessError, code:number) { 57 if (err.code !== undefined && err.code != null) { 58 console.error(`getCode failed, code is ${err.code}, message is ${err.message}`); 59 } else { 60 console.info("getCode " + JSON.stringify(code)); 61 } 62} 63subscriber.getCode(getCodeCB); 64``` 65 66## getCode 67 68getCode(): Promise\<number> 69 70以Promise形式获取公共事件代码。 71 72**系统能力**:`SystemCapability.Notification.CommonEvent` 73 74**返回值:** 75 76| 类型 | 说明 | 77| ---------------- | -------------------- | 78| Promise\<number> | 公共事件代码。 | 79 80**示例:** 81 82```ts 83subscriber.getCode().then((code:number) => { 84 console.info("getCode " + JSON.stringify(code)); 85}).catch((err:Base.BusinessError) => { 86 console.error(`getCode failed, code is ${err.code}, message is ${err.message}`); 87}); 88``` 89 90## getCodeSync<sup>10+</sup> 91 92getCodeSync(): number 93 94getCode的同步接口 95 96**系统能力**:`SystemCapability.Notification.CommonEvent` 97 98**返回值:** 99 100| 类型 | 说明 | 101| ---------------- | -------------------- | 102| number | 公共事件代码。 | 103 104**示例:** 105 106```ts 107let code = subscriber.getCodeSync(); 108console.info("getCodeSync " + JSON.stringify(code)); 109``` 110 111## setCode 112 113setCode(code: number, callback: AsyncCallback\<void>): void 114 115以回调形式设置公共事件的代码。 116 117**系统能力**:`SystemCapability.Notification.CommonEvent` 118 119**参数:** 120 121| 参数名 | 类型 | 必填 | 说明 | 122| -------- | -------------------- | ---- | ---------------------- | 123| code | number | 是 | 公共事件的代码。 | 124| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 | 125 126**示例:** 127 128```ts 129//设置有序公共事件的代码回调 130function setCodeCB(err:Base.BusinessError) { 131 if (err.code !== undefined && err.code != null) { 132 console.error(`setCode failed, code is ${err.code}, message is ${err.message}`); 133 } else { 134 console.info("setCode"); 135 } 136} 137subscriber.setCode(1, setCodeCB); 138``` 139 140## setCode 141 142setCode(code: number): Promise\<void> 143 144以Promise形式设置公共事件的代码。 145 146**系统能力**:`SystemCapability.Notification.CommonEvent` 147 148**参数:** 149 150| 参数名 | 类型 | 必填 | 说明 | 151| ------ | ------ | ---- | ------------------ | 152| code | number | 是 | 公共事件的代码。 | 153 154**返回值:** 155 156| 类型 | 说明 | 157| ---------------- | -------------------- | 158| Promise\<void> | 返回一个Promise的结果。 | 159 160**示例:** 161 162```ts 163subscriber.setCode(1).then(() => { 164 console.info("setCode"); 165}).catch((err:Base.BusinessError) => { 166 console.error(`setCode failed, code is ${err.code}, message is ${err.message}`); 167}); 168``` 169 170## setCodeSync<sup>10+</sup> 171 172setCodeSync(code: number): void 173 174setCode的同步接口 175 176**系统能力**:`SystemCapability.Notification.CommonEvent` 177 178**参数:** 179 180| 参数名 | 类型 | 必填 | 说明 | 181| ------ | ------ | ---- | ------------------ | 182| code | number | 是 | 公共事件的代码。 | 183 184 185**示例:** 186 187```ts 188 189try { 190 subscriber.setCodeSync(1); 191} catch (error) { 192 let err:Base.BusinessError = error as Base.BusinessError; 193 console.error(`setCodeSync failed, code is ${err.code}, message is ${err.message}`); 194} 195``` 196 197## getData 198 199getData(callback: AsyncCallback\<string>): void 200 201以回调形式获取公共事件的数据。 202 203**系统能力**:`SystemCapability.Notification.CommonEvent` 204 205**参数:** 206 207| 参数名 | 类型 | 必填 | 说明 | 208| -------- | ---------------------- | ---- | -------------------- | 209| callback | AsyncCallback\<string> | 是 | 公共事件的数据。 | 210 211**示例:** 212 213```ts 214//获取有序公共事件代码数据回调 215function getDataCB(err:Base.BusinessError, data:string) { 216 if (err.code !== undefined && err.code != null) { 217 console.error(`getData failed, code is ${err.code}, message is ${err.message}`); 218 } else { 219 console.info("getData " + JSON.stringify(data)); 220 } 221} 222subscriber.getData(getDataCB); 223``` 224 225## getData 226 227getData(): Promise\<string> 228 229以Promise形式获取公共事件的数据。 230 231**系统能力**:`SystemCapability.Notification.CommonEvent` 232 233**返回值:** 234 235| 类型 | 说明 | 236| ---------------- | ------------------ | 237| Promise\<string> | 公共事件的数据。 | 238 239**示例:** 240 241```ts 242subscriber.getData().then((data:string) => { 243 console.info("getData " + JSON.stringify(data)); 244}).catch((err:Base.BusinessError) => { 245 console.error(`getData failed, code is ${err.code}, message is ${err.message}`); 246}); 247``` 248 249## getDataSync<sup>10+</sup> 250 251getDataSync(): string 252 253getData的同步接口 254 255**系统能力**:`SystemCapability.Notification.CommonEvent` 256 257**返回值:** 258 259| 类型 | 说明 | 260| ---------------- | ------------------ | 261| string | 公共事件的数据。 | 262 263**示例:** 264 265```ts 266let data = subscriber.getDataSync(); 267console.info("getDataSync " + JSON.stringify(data)); 268``` 269 270## setData 271 272setData(data: string, callback: AsyncCallback\<void>): void 273 274以回调形式设置公共事件的数据。 275 276**系统能力**:`SystemCapability.Notification.CommonEvent` 277 278**参数:** 279 280| 参数名 | 类型 | 必填 | 说明 | 281| -------- | -------------------- | ---- | -------------------- | 282| data | string | 是 | 公共事件的数据。 | 283| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 | 284 285**示例:** 286 287```ts 288//设置有序公共事件的结果数据回调 289function setDataCB(err:Base.BusinessError) { 290 if (err.code !== undefined && err.code != null) { 291 console.error(`setCode failed, code is ${err.code}, message is ${err.message}`); 292 } else { 293 console.info("setData"); 294 } 295} 296subscriber.setData("publish_data_changed", setDataCB); 297``` 298 299## setData 300 301setData(data: string): Promise\<void> 302 303以Promise形式设置公共事件的果数据。 304 305**系统能力**:`SystemCapability.Notification.CommonEvent` 306 307**参数:** 308 309| 参数名 | 类型 | 必填 | 说明 | 310| ------ | ------ | ---- | -------------------- | 311| data | string | 是 | 公共事件的数据。 | 312 313**返回值:** 314 315| 类型 | 说明 | 316| ---------------- | -------------------- | 317| Promise\<void> | 返回一个Promise的结果。 | 318 319**示例:** 320 321```ts 322subscriber.setData("publish_data_changed").then(() => { 323 console.info("setData"); 324}).catch((err:Base.BusinessError) => { 325 console.error(`setCode failed, code is ${err.code}, message is ${err.message}`); 326}); 327``` 328 329## setDataSync<sup>10+</sup> 330setDataSync(data: string): void 331 332setData的同步接口。 333 334**系统能力**:`SystemCapability.Notification.CommonEvent` 335 336**参数:** 337 338| 参数名 | 类型 | 必填 | 说明 | 339| ------ | ------ | ---- | -------------------- | 340| data | string | 是 | 公共事件的数据。 | 341 342**示例:** 343 344```ts 345try { 346 subscriber.setDataSync("publish_data_changed"); 347} catch (error) { 348 let err:Base.BusinessError = error as Base.BusinessError; 349 console.error(`setDataSync failed, code is ${err.code}, message is ${err.message}`); 350} 351``` 352 353## setCodeAndData 354 355setCodeAndData(code: number, data: string, callback:AsyncCallback\<void>): void 356 357以回调形式设置公共事件代码和数据。 358 359**系统能力**:`SystemCapability.Notification.CommonEvent` 360 361**参数:** 362 363| 参数名 | 类型 | 必填 | 说明 | 364| -------- | -------------------- | ---- | ---------------------- | 365| code | number | 是 | 公共事件的代码。 | 366| data | string | 是 | 公共事件的数据。 | 367| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 | 368 369**示例:** 370 371```ts 372//设置有序公共事件的代码和数据回调 373function setCodeDataCB(err:Base.BusinessError) { 374 if (err.code !== undefined && err.code != null) { 375 console.error(`setCodeAndData failed, code is ${err.code}, message is ${err.message}`); 376 } else { 377 console.info("setCodeDataCallback"); 378 } 379} 380subscriber.setCodeAndData(1, "publish_data_changed", setCodeDataCB); 381``` 382 383## setCodeAndData 384 385setCodeAndData(code: number, data: string): Promise\<void> 386 387以Promise形式设置公共事件的代码和数据。 388 389**系统能力**:`SystemCapability.Notification.CommonEvent` 390 391**参数:** 392 393| 参数名 | 类型 | 必填 | 说明 | 394| ------ | ------ | ---- | -------------------- | 395| code | number | 是 | 公共事件的代码。 | 396| data | string | 是 | 公共事件的数据。 | 397 398**返回值:** 399 400| 类型 | 说明 | 401| ---------------- | -------------------- | 402| Promise\<void> | 返回一个Promise。 | 403 404**示例:** 405 406```ts 407subscriber.setCodeAndData(1, "publish_data_changed").then(() => { 408 console.info("setCodeAndData"); 409}).catch((err:Base.BusinessError) => { 410 console.error(`setCodeAndData failed, code is ${err.code}, message is ${err.message}`); 411}); 412``` 413 414## setCodeAndDataSync<sup>10+</sup> 415 416setCodeAndData的同步接口。 417 418setCodeAndDataSync(code: number, data: string): void 419 420**系统能力**:`SystemCapability.Notification.CommonEvent` 421 422**参数:** 423 424| 参数名 | 类型 | 必填 | 说明 | 425| ------ | ------ | ---- | -------------------- | 426| code | number | 是 | 公共事件的代码。 | 427| data | string | 是 | 公共事件的数据。 | 428 429**示例:** 430 431```ts 432try { 433 subscriber.setCodeAndDataSync(1, "publish_data_changed"); 434} catch (error) { 435 let err:Base.BusinessError = error as Base.BusinessError; 436 console.error(`setCodeAndData failed, code is ${err.code}, message is ${err.message}`); 437} 438``` 439 440## isOrderedCommonEvent 441 442isOrderedCommonEvent(callback: AsyncCallback\<boolean>): void 443 444以回调形式查询当前公共事件的是否为有序公共事件。 445 446返回true代表是有序公共事件,false代表不是有序公共事件。 447 448**系统能力**:`SystemCapability.Notification.CommonEvent` 449 450**参数:** 451 452| 参数名 | 类型 | 必填 | 说明 | 453| -------- | ----------------------- | ---- | ---------------------------------- | 454| callback | AsyncCallback\<boolean> | 是 | 当前公共事件的是否为有序公共事件。 | 455 456**示例:** 457 458```ts 459//获取当前公共事件是否为有序事件的回调 460function isOrderedCB(err:Base.BusinessError, isOrdered:boolean) { 461 if (err.code !== undefined && err.code != null) { 462 console.error(`isOrderedCommonEvent failed, code is ${err.code}, message is ${err.message}`); 463 } else { 464 console.info("isOrdered " + JSON.stringify(isOrdered)); 465 } 466} 467subscriber.isOrderedCommonEvent(isOrderedCB); 468``` 469 470## isOrderedCommonEvent 471 472isOrderedCommonEvent(): Promise\<boolean> 473 474以Promise形式查询当前公共事件的是否为有序公共事件。 475 476返回true代表是有序公共事件,false代表不是有序公共事件。 477 478**系统能力**:`SystemCapability.Notification.CommonEvent` 479 480**返回值:** 481 482| 类型 | 说明 | 483| ----------------- | -------------------------------- | 484| Promise\<boolean> | 当前公共事件的是否为有序公共事件。 | 485 486**示例:** 487 488```ts 489subscriber.isOrderedCommonEvent().then((isOrdered:boolean) => { 490 console.info("isOrdered " + JSON.stringify(isOrdered)); 491}).catch((err:Base.BusinessError) => { 492 console.error(`isOrdered failed, code is ${err.code}, message is ${err.message}`); 493}); 494``` 495 496## isOrderedCommonEventSync<sup>10+</sup> 497 498isOrderedCommonEventSync(): boolean 499 500isOrderedCommonEvent的同步接口 501 502返回true代表是有序公共事件,false代表不是有序公共事件。 503 504**系统能力**:`SystemCapability.Notification.CommonEvent` 505 506**返回值:** 507 508| 类型 | 说明 | 509| ----------------- | -------------------------------- | 510| boolean | 当前公共事件的是否为有序公共事件。 | 511 512**示例:** 513 514```ts 515let isOrdered = subscriber.isOrderedCommonEventSync(); 516console.info("isOrdered " + JSON.stringify(isOrdered)); 517``` 518 519## isStickyCommonEvent 520 521isStickyCommonEvent(callback: AsyncCallback\<boolean>): void 522 523以回调形式检查当前公共事件是否为一个粘性事件。 524 525返回true代表是粘性公共事件,false代表不是粘性公共事件。 526 527**系统能力**:`SystemCapability.Notification.CommonEvent` 528 529**参数:** 530 531| 参数名 | 类型 | 必填 | 说明 | 532| -------- | ----------------------- | ---- | ---------------------------------- | 533| callback | AsyncCallback\<boolean> | 是 | 当前公共事件的是否为粘性公共事件。 | 534 535**示例:** 536 537```ts 538//获取当前公共事件是否为粘性事件的回调 539function isStickyCB(err:Base.BusinessError, isSticky:boolean) { 540 if (err.code !== undefined && err.code != null) { 541 console.error(`isStickyCommonEvent failed, code is ${err.code}, message is ${err.message}`); 542 } else { 543 console.info("isSticky " + JSON.stringify(isSticky)); 544 } 545} 546subscriber.isStickyCommonEvent(isStickyCB); 547``` 548 549## isStickyCommonEvent 550 551isStickyCommonEvent(): Promise\<boolean> 552 553以Promise形式检查当前公共事件是否为一个粘性事件。 554 555返回true代表是粘性公共事件,false代表不是粘性公共事件。 556 557**系统能力**:`SystemCapability.Notification.CommonEvent` 558 559**返回值:** 560 561| 类型 | 说明 | 562| ----------------- | -------------------------------- | 563| Promise\<boolean> | 当前公共事件的是否为粘性公共事件。 | 564 565**示例:** 566 567```ts 568subscriber.isStickyCommonEvent().then((isSticky:boolean) => { 569 console.info("isSticky " + JSON.stringify(isSticky)); 570}).catch((err:Base.BusinessError) => { 571 console.error(`isSticky failed, code is ${err.code}, message is ${err.message}`); 572}); 573``` 574 575## isStickyCommonEventSync<sup>10+</sup> 576 577isStickyCommonEventSync(): boolean 578 579isStickyCommonEvent的同步接口。 580 581返回true代表是粘性公共事件,false代表不是粘性公共事件。 582 583**系统能力**:`SystemCapability.Notification.CommonEvent` 584 585**返回值:** 586 587| 类型 | 说明 | 588| ----------------- | -------------------------------- | 589| boolean | 当前公共事件的是否为粘性公共事件。 | 590 591**示例:** 592 593```ts 594let isSticky = subscriber.isStickyCommonEventSync(); 595console.info("isSticky " + JSON.stringify(isSticky)); 596``` 597 598## abortCommonEvent 599 600abortCommonEvent(callback: AsyncCallback\<void>): void 601 602以回调形式取消当前的有序公共事件,取消后,有序公共事件不再向下一个订阅者传递。 603 604**系统能力**:`SystemCapability.Notification.CommonEvent` 605 606**参数:** 607 608| 参数名 | 类型 | 必填 | 说明 | 609| -------- | -------------------- | ---- | -------------------- | 610| callback | AsyncCallback\<void> | 是 | 取消当前的有序公共事件。 | 611 612**示例:** 613 614```ts 615//取消当前有序公共事件的回调 616function abortCB(err:Base.BusinessError) { 617 if (err.code !== undefined && err.code != null) { 618 console.error(`abortCommonEvent failed, code is ${err.code}, message is ${err.message}`); 619 } else { 620 console.info("abortCommonEvent"); 621 } 622} 623subscriber.abortCommonEvent(abortCB); 624``` 625 626## abortCommonEvent 627 628abortCommonEvent(): Promise\<void> 629 630以Promise形式取消当前的有序公共事件,取消后,公共事件不再向下一个订阅者传递。 631 632**系统能力**:`SystemCapability.Notification.CommonEvent` 633 634**返回值:** 635 636| 类型 | 说明 | 637| ---------------- | -------------------- | 638| Promise\<void> | 返回一个Promise的结果。 | 639 640**示例:** 641 642```ts 643subscriber.abortCommonEvent().then(() => { 644 console.info("abortCommonEvent"); 645}).catch((err:Base.BusinessError) => { 646 console.error(`abortCommonEvent failed, code is ${err.code}, message is ${err.message}`); 647}); 648``` 649 650## abortCommonEventSync<sup>10+</sup> 651 652abortCommonEventSync(): void 653 654abortCommonEvent的同步接口 655 656**系统能力**:`SystemCapability.Notification.CommonEvent` 657 658**示例:** 659 660```ts 661subscriber.abortCommonEventSync(); 662``` 663 664## clearAbortCommonEvent 665 666clearAbortCommonEvent(callback: AsyncCallback\<void>): void 667 668以回调形式清除当前有序公共事件。 669 670**系统能力**:`SystemCapability.Notification.CommonEvent` 671 672**参数:** 673 674| 参数名 | 类型 | 必填 | 说明 | 675| -------- | -------------------- | ---- | -------------------- | 676| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 | 677 678**示例:** 679 680```ts 681//清除当前公共事件取消状态的回调 682function clearAbortCB(err:Base.BusinessError) { 683 if (err.code !== undefined && err.code != null) { 684 console.error(`clearAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`); 685 } else { 686 console.info("clearAbortCommonEvent"); 687 } 688} 689subscriber.clearAbortCommonEvent(clearAbortCB); 690``` 691 692## clearAbortCommonEvent 693 694clearAbortCommonEvent(): Promise\<void> 695 696以Promise形式清除当前有序公共事件。 697 698**系统能力**:`SystemCapability.Notification.CommonEvent` 699 700**返回值:** 701 702| 类型 | 说明 | 703| ---------------- | -------------------- | 704| Promise\<void> | 返回一个Promise的结果。 | 705 706**示例:** 707 708```ts 709subscriber.clearAbortCommonEvent().then(() => { 710 console.info("clearAbortCommonEvent"); 711}).catch((err:Base.BusinessError) => { 712 console.error(`clearAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`); 713}); 714``` 715 716## clearAbortCommonEventSync<sup>10+</sup> 717 718clearAbortCommonEventSync(): void 719 720clearAbortCommonEvent的同步接口 721 722**系统能力**:`SystemCapability.Notification.CommonEvent` 723 724**示例:** 725 726```ts 727subscriber.clearAbortCommonEventSync(); 728``` 729 730## getAbortCommonEvent 731 732getAbortCommonEvent(callback: AsyncCallback\<boolean>): void 733 734以回调形式获取当前有序公共事件是否取消的状态。 735 736**系统能力**:`SystemCapability.Notification.CommonEvent` 737 738**参数:** 739 740| 参数名 | 类型 | 必填 | 说明 | 741| -------- | ----------------------- | ---- | ---------------------------------- | 742| callback | AsyncCallback\<boolean> | 是 | 表示当前有序公共事件是否取消的状态。 | 743 744**示例:** 745 746```ts 747//获取当前有序公共事件是否取消的回调 748function getAbortCB(err:Base.BusinessError, abortEvent:boolean) { 749 if (err.code !== undefined && err.code != null) { 750 console.error(`getAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`); 751 } else { 752 console.info("abortCommonEvent " + abortEvent) 753 } 754} 755subscriber.getAbortCommonEvent(getAbortCB); 756``` 757 758## getAbortCommonEvent 759 760getAbortCommonEvent(): Promise\<boolean> 761 762以Promise形式获取当前有序公共事件是否取消的状态。 763 764**系统能力**:`SystemCapability.Notification.CommonEvent` 765 766**返回值:** 767 768| 类型 | 说明 | 769| ----------------- | ---------------------------------- | 770| Promise\<boolean> | 表示当前有序公共事件是否取消的状态。 | 771 772**示例:** 773 774```ts 775subscriber.getAbortCommonEvent().then((abortEvent:boolean) => { 776 console.info("abortCommonEvent " + JSON.stringify(abortEvent)); 777}).catch((err:Base.BusinessError) => { 778 console.error(`getAbortCommonEvent failed, code is ${err.code}, message is ${err.message}`); 779}); 780``` 781 782## getAbortCommonEventSync<sup>10+</sup> 783 784getAbortCommonEventSync(): boolean 785 786getAbortCommonEvent的同步接口。 787 788**系统能力**:`SystemCapability.Notification.CommonEvent` 789 790**返回值:** 791 792| 类型 | 说明 | 793| ----------------- | ---------------------------------- | 794| boolean | 表示当前有序公共事件是否取消的状态。 | 795 796**示例:** 797 798```ts 799let abortEvent = subscriber.getAbortCommonEventSync(); 800console.info("getAbortCommonEventSync " + JSON.stringify(abortEvent)); 801``` 802 803## getSubscribeInfo 804 805getSubscribeInfo(callback: AsyncCallback\<CommonEventSubscribeInfo>): void 806 807以回调形式获取订阅者的订阅信息。 808 809**系统能力**:`SystemCapability.Notification.CommonEvent` 810 811**参数:** 812 813| 参数名 | 类型 | 必填 | 说明 | 814| -------- | ------------------------------------------------------------ | ---- | ---------------------- | 815| callback | AsyncCallback\<[CommonEventSubscribeInfo](./js-apis-inner-commonEvent-commonEventSubscribeInfo.md)> | 是 | 表示订阅者的订阅信息。 | 816 817**示例:** 818 819```ts 820//获取订阅者信息回调 821function getCB(err:Base.BusinessError, subscribeInfo:CommonEventManager.CommonEventSubscribeInfo) { 822 if (err.code !== undefined && err.code != null) { 823 console.error(`getSubscribeInfo failed, code is ${err.code}, message is ${err.message}`); 824 } else { 825 console.info("subscribeInfo " + JSON.stringify(subscribeInfo)); 826 } 827} 828subscriber.getSubscribeInfo(getCB); 829``` 830 831## getSubscribeInfo 832 833getSubscribeInfo(): Promise\<CommonEventSubscribeInfo> 834 835以Promise形式获取订阅者的订阅信息。 836 837**系统能力**:`SystemCapability.Notification.CommonEvent` 838 839**返回值:** 840 841| 类型 | 说明 | 842| ------------------------------------------------------------ | ---------------------- | 843| Promise\<[CommonEventSubscribeInfo](./js-apis-inner-commonEvent-commonEventSubscribeInfo.md)> | 表示订阅者的订阅信息。 | 844 845**示例:** 846 847```ts 848subscriber.getSubscribeInfo().then((subscribeInfo:CommonEventManager.CommonEventSubscribeInfo) => { 849 console.info("subscribeInfo " + JSON.stringify(subscribeInfo)); 850}).catch((err:Base.BusinessError) => { 851 console.error(`getSubscribeInfo failed, code is ${err.code}, message is ${err.message}`); 852}); 853``` 854 855## getSubscribeInfoSync<sup>10+</sup> 856 857getSubscribeInfoSync(): CommonEventSubscribeInfo 858 859getSubscribeInfo的同步接口。 860 861**系统能力**:`SystemCapability.Notification.CommonEvent` 862 863**返回值:** 864 865| 类型 | 说明 | 866| ------------------------------------------------------------ | ---------------------- | 867| [CommonEventSubscribeInfo](./js-apis-inner-commonEvent-commonEventSubscribeInfo.md) | 表示订阅者的订阅信息。 | 868 869**示例:** 870 871```ts 872let subscribeInfo = subscriber.getSubscribeInfoSync(); 873console.info("subscribeInfo " + JSON.stringify(subscribeInfo)); 874``` 875 876## finishCommonEvent<sup>9+</sup> 877 878finishCommonEvent(callback: AsyncCallback\<void>): void 879 880以回调形式结束当前有序公共事件。 881 882**系统能力**:`SystemCapability.Notification.CommonEvent` 883 884**参数:** 885 886| 参数名 | 类型 | 必填 | 说明 | 887| -------- | -------------------- | ---- | -------------------------------- | 888| callback | AsyncCallback\<void> | 是 | 表示有序公共事件结束后的回调函数。 | 889 890**示例:** 891 892```ts 893//结束当前有序公共事件的回调 894function finishCB(err:Base.BusinessError) { 895 if (err.code !== undefined && err.code != null) { 896 console.error(`finishCommonEvent failed, code is ${err.code}, message is ${err.message}`); 897 } else { 898 console.info("FinishCommonEvent"); 899 } 900} 901 902subscriber.finishCommonEvent(finishCB); 903``` 904 905## finishCommonEvent<sup>9+</sup> 906 907finishCommonEvent(): Promise\<void> 908 909以Promise形式结束当前有序公共事件。 910 911**系统能力**:`SystemCapability.Notification.CommonEvent` 912 913**返回值:** 914 915| 类型 | 说明 | 916| ---------------- | -------------------- | 917| Promise\<void> | 返回一个Promise的结果。 | 918 919**示例:** 920 921```ts 922subscriber.finishCommonEvent().then(() => { 923 console.info("FinishCommonEvent"); 924}).catch((err:Base.BusinessError) => { 925 console.error(`finishCommonEvent failed, code is ${err.code}, message is ${err.message}`); 926}); 927```