1# @ohos.commonEvent (公共事件模块) 2 3本模块提供了公共事件的能力,包括公共事件的权限列表,发布公共事件,订阅或取消订阅公共事件,获取或修改公共事件结果代码、结果数据等。 4 5> **说明:** 6> - 从API Version 9开始,该接口不再维护,推荐使用新接口[@ohos.commonEventManager](js-apis-commonEventManager.md)。 7> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```js 12import CommonEvent from '@ohos.commonEvent'; 13``` 14 15## Support 16 17系统公共事件是指由系统服务或系统应用发布的事件,订阅这些系统公共事件需要特定的权限。发布或订阅这些事件需要使用如下链接中的枚举定义。 18 19全部系统公共事件枚举定义请参见[系统公共事件定义](./commonEvent-definitions.md)。 20 21## CommonEvent.publish<sup>(deprecated)</sup> 22 23publish(event: string, callback: AsyncCallback\<void>): void 24 25发布公共事件(callback形式)。 26 27> **说明:** 28> 从 API version 7开始支持,从API version 9开始废弃。建议使用[commonEventManager.publish](js-apis-commonEventManager.md#commoneventmanagerpublish)替代。 29 30**系统能力:** `SystemCapability.Notification.CommonEvent` 31 32**参数:** 33 34| 名称 | 类型 | 必填 | 说明 | 35| -------- | -------------------- | ---- | ---------------------- | 36| event | string | 是 | 表示要发送的公共事件。 | 37| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 | 38 39**示例:** 40 41```js 42//发布公共事件回调 43function publishCallBack(err) { 44 if (err.code) { 45 console.error("publish failed " + JSON.stringify(err)); 46 } else { 47 console.info("publish"); 48 } 49} 50 51//发布公共事件 52CommonEvent.publish("event", publishCallBack); 53``` 54 55## CommonEvent.publish<sup>(deprecated)</sup> 56 57publish(event: string, options: CommonEventPublishData, callback: AsyncCallback\<void>): void 58 59发布公共事件指定发布信息(callback形式)。 60 61> **说明:** 62> 从 API version 7开始支持,从API version 9开始废弃。建议使用[commonEventManager.publish](js-apis-commonEventManager.md#commoneventmanagerpublish-1)替代。 63 64**系统能力:** `SystemCapability.Notification.CommonEvent` 65 66**参数:** 67 68| 名称 | 类型 | 必填 | 说明 | 69| -------- | ---------------------- | ---- | ---------------------- | 70| event | string | 是 | 表示要发布的公共事件。 | 71| options | [CommonEventPublishData](./js-apis-inner-commonEvent-commonEventPublishData.md) | 是 | 表示发布公共事件的属性。 | 72| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 | 73 74**示例:** 75 76 77```js 78//公共事件相关信息 79let options = { 80 code: 0, //公共事件的初始代码 81 data: "initial data",//公共事件的初始数据 82 isOrdered: true //有序公共事件 83} 84 85//发布公共事件回调 86function publishCallBack(err) { 87 if (err.code) { 88 console.error("publish failed " + JSON.stringify(err)); 89 } else { 90 console.info("publish"); 91 } 92} 93 94//发布公共事件 95CommonEvent.publish("event", options, publishCallBack); 96``` 97 98## CommonEvent.publishAsUser<sup>(deprecated)</sup> 99 100publishAsUser(event: string, userId: number, callback: AsyncCallback\<void>): void 101 102向指定用户发布公共事件(callback形式)。 103 104> **说明:** 105> 从 API version 8开始支持,从API version 9开始废弃。建议使用[commonEventManager.publishAsUser](js-apis-commonEventManager.md#commoneventmanagerpublishasuser)替代。 106 107**系统能力:** `SystemCapability.Notification.CommonEvent` 108 109**系统API**:此接口为系统接口,三方应用不支持调用。 110 111**参数:** 112 113| 名称 | 类型 | 必填 | 说明 | 114| -------- | -------------------- | ---- | ---------------------------------- | 115| event | string | 是 | 表示要发送的公共事件。 | 116| userId | number | 是 | 表示指定向该用户ID发送此公共事件。 | 117| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 | 118 119**示例:** 120 121```js 122//发布公共事件回调 123function publishAsUserCallBack(err) { 124 if (err.code) { 125 console.error("publishAsUser failed " + JSON.stringify(err)); 126 } else { 127 console.info("publishAsUser"); 128 } 129} 130 131//指定发送的用户 132let userId = 100; 133 134//发布公共事件 135CommonEvent.publishAsUser("event", userId, publishAsUserCallBack); 136``` 137 138## CommonEvent.publishAsUser<sup>(deprecated)</sup> 139 140publishAsUser(event: string, userId: number, options: CommonEventPublishData, callback: AsyncCallback\<void>): void 141 142向指定用户发布公共事件并指定发布信息(callback形式)。 143 144> **说明:** 145> 从 API version 8开始支持,从API version 9开始废弃。建议使用[commonEventManager.publishAsUser](js-apis-commonEventManager.md#commoneventmanagerpublishasuser-1)替代。 146 147**系统能力:** `SystemCapability.Notification.CommonEvent` 148 149**系统API**:此接口为系统接口,三方应用不支持调用。 150 151**参数:** 152 153| 名称 | 类型 | 必填 | 说明 | 154| -------- | ---------------------- | ---- | ---------------------- | 155| event | string | 是 | 表示要发布的公共事件。 | 156| userId | number | 是 | 表示指定向该用户ID发送此公共事件。 | 157| options | [CommonEventPublishData](./js-apis-inner-commonEvent-commonEventPublishData.md) | 是 | 表示发布公共事件的属性。 | 158| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 | 159 160**示例:** 161 162 163```js 164//公共事件相关信息 165let options = { 166 code: 0, //公共事件的初始代码 167 data: "initial data",//公共事件的初始数据 168} 169 170//发布公共事件回调 171function publishAsUserCallBack(err) { 172 if (err.code) { 173 console.error("publishAsUser failed " + JSON.stringify(err)); 174 } else { 175 console.info("publishAsUser"); 176 } 177} 178 179//指定发送的用户 180let userId = 100; 181 182//发布公共事件 183CommonEvent.publishAsUser("event", userId, options, publishAsUserCallBack); 184``` 185 186## CommonEvent.createSubscriber<sup>(deprecated)</sup> 187 188createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback<CommonEventSubscriber>): void 189 190创建订阅者(callback形式)。 191 192> **说明:** 193>从 API version 7开始支持,从API version 9开始废弃。建议使用[commonEventManager.createSubscriber](js-apis-commonEventManager.md#commoneventmanagercreatesubscriber)替代。 194 195**系统能力:** `SystemCapability.Notification.CommonEvent` 196 197**参数:** 198 199| 名称 | 类型 | 必填 | 说明 | 200| ------------- | ------------------------------------------------------------ | ---- | -------------------------- | 201| subscribeInfo | [CommonEventSubscribeInfo](./js-apis-inner-commonEvent-commonEventSubscribeInfo.md) | 是 | 表示订阅信息。 | 202| callback | AsyncCallback\<[CommonEventSubscriber](./js-apis-inner-commonEvent-commonEventSubscriber.md)> | 是 | 表示创建订阅者的回调方法。 | 203 204**示例:** 205 206 207```js 208let subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 209 210//订阅者信息 211let subscribeInfo = { 212 events: ["event"] 213}; 214 215//创建订阅者回调 216function createSubscriberCallBack(err, commonEventSubscriber) { 217 if (err.code) { 218 console.error("createSubscriber failed " + JSON.stringify(err)); 219 } else { 220 console.info("createSubscriber"); 221 subscriber = commonEventSubscriber; 222 } 223} 224 225//创建订阅者 226CommonEvent.createSubscriber(subscribeInfo, createSubscriberCallBack); 227``` 228 229## CommonEvent.createSubscriber<sup>(deprecated)</sup> 230 231createSubscriber(subscribeInfo: CommonEventSubscribeInfo): Promise<CommonEventSubscriber> 232 233创建订阅者(Promise形式)。 234 235> **说明:** 236>从 API version 7开始支持,从API version 9开始废弃。建议使用[commonEventManager.createSubscriber](js-apis-commonEventManager.md#commoneventmanagercreatesubscriber-1)替代。 237 238**系统能力:** `SystemCapability.Notification.CommonEvent` 239 240**参数:** 241 242| 名称 | 类型 | 必填 | 说明 | 243| ------------- | ----------------------------------------------------- | ---- | -------------- | 244| subscribeInfo | [CommonEventSubscribeInfo](./js-apis-inner-commonEvent-commonEventSubscribeInfo.md) | 是 | 表示订阅信息。 | 245 246**返回值:** 247| 类型 | 说明 | 248| --------------------------------------------------------- | ---------------- | 249| Promise\<[CommonEventSubscriber](./js-apis-inner-commonEvent-commonEventSubscriber.md)> | 返回订阅者对象。 | 250 251**示例:** 252 253```js 254let subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 255 256//订阅者信息 257let subscribeInfo = { 258 events: ["event"] 259}; 260 261//创建订阅者 262CommonEvent.createSubscriber(subscribeInfo).then((commonEventSubscriber) => { 263 console.info("createSubscriber"); 264 subscriber = commonEventSubscriber; 265}).catch((err) => { 266 console.error("createSubscriber failed " + JSON.stringify(err)); 267}); 268``` 269 270## CommonEvent.subscribe<sup>(deprecated)</sup> 271 272subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback<CommonEventData>): void 273 274订阅公共事件(callback形式)。 275 276> **说明:** 277>从 API version 7开始支持,从API version 9开始废弃。建议使用[commonEventManager.subscribe](js-apis-commonEventManager.md#commoneventmanagersubscribe)替代。 278 279**系统能力:** `SystemCapability.Notification.CommonEvent` 280 281**参数:** 282 283| 名称 | 类型 | 必填 | 说明 | 284| ---------- | ---------------------------------------------------- | ---- | -------------------------------- | 285| subscriber | [CommonEventSubscriber](./js-apis-inner-commonEvent-commonEventSubscriber.md) | 是 | 表示订阅者对象。 | 286| callback | AsyncCallback\<[CommonEventData](./js-apis-inner-commonEvent-commonEventData.md)> | 是 | 表示接收公共事件数据的回调函数。 | 287 288**示例:** 289 290```js 291let subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 292 293//订阅者信息 294let subscribeInfo = { 295 events: ["event"] 296}; 297 298//订阅公共事件回调 299function subscribeCallBack(err, data) { 300 if (err.code) { 301 console.error("subscribe failed " + JSON.stringify(err)); 302 } else { 303 console.info("subscribe " + JSON.stringify(data)); 304 } 305} 306 307//创建订阅者回调 308function createSubscriberCallBack(err, commonEventSubscriber) { 309 if (err.code) { 310 console.error("createSubscriber failed " + JSON.stringify(err)); 311 } else { 312 console.info("createSubscriber"); 313 subscriber = commonEventSubscriber; 314 //订阅公共事件 315 CommonEvent.subscribe(subscriber, subscribeCallBack); 316 } 317} 318 319//创建订阅者 320CommonEvent.createSubscriber(subscribeInfo, createSubscriberCallBack); 321``` 322 323## CommonEvent.unsubscribe<sup>(deprecated)</sup> 324 325unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback\<void>): void 326 327取消订阅公共事件(callback形式)。 328 329> **说明:** 330>从 API version 7开始支持,从API version 9开始废弃。建议使用[commonEventManager.subscribe](js-apis-commonEventManager.md#commoneventmanagerunsubscribe)替代。 331 332**系统能力:** `SystemCapability.Notification.CommonEvent` 333 334**参数:** 335 336| 名称 | 类型 | 必填 | 说明 | 337| ---------- | ----------------------------------------------- | ---- | ------------------------ | 338| subscriber | [CommonEventSubscriber](./js-apis-inner-commonEvent-commonEventSubscriber.md) | 是 | 表示订阅者对象。 | 339| callback | AsyncCallback\<void> | 否 | 表示取消订阅的回调方法。 | 340 341**示例:** 342 343```js 344let subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 345 346//订阅者信息 347let subscribeInfo = { 348 events: ["event"] 349}; 350 351//订阅公共事件回调 352function subscribeCallBack(err, data) { 353 if (err.code) { 354 console.info("subscribe failed " + JSON.stringify(err)); 355 } else { 356 console.info("subscribe " + JSON.stringify(data)); 357 } 358} 359 360//创建订阅者回调 361function createSubscriberCallBack(err, commonEventSubscriber) { 362 if (err.code) { 363 console.info("createSubscriber failed " + JSON.stringify(err)); 364 } else { 365 console.info("createSubscriber"); 366 subscriber = commonEventSubscriber; 367 //订阅公共事件 368 CommonEvent.subscribe(subscriber, subscribeCallBack); 369 } 370} 371 372//取消订阅公共事件回调 373function unsubscribeCallBack(err) { 374 if (err.code) { 375 console.info("unsubscribe failed " + JSON.stringify(err)); 376 } else { 377 console.info("unsubscribe"); 378 } 379} 380 381//创建订阅者 382CommonEvent.createSubscriber(subscribeInfo, createSubscriberCallBack); 383 384//取消订阅公共事件 385CommonEvent.unsubscribe(subscriber, unsubscribeCallBack); 386``` 387 388## CommonEventSubscriber 389 390### getCode 391 392getCode(callback: AsyncCallback\<number>): void 393 394获取公共事件的结果代码(callback形式)。 395 396**系统能力**:SystemCapability.Notification.CommonEvent 397 398**参数:** 399 400| 参数名 | 类型 | 必填 | 说明 | 401| -------- | ---------------------- | ---- | ------------------ | 402| callback | AsyncCallback\<number> | 是 | 公共事件的结果代码。 | 403 404**示例:** 405 406```js 407let subscriber; //创建成功的订阅者对象 408 409//获取有序公共事件的结果代码回调 410function getCodeCallback(err, Code) { 411 if (err.code) { 412 console.error("getCode failed " + JSON.stringify(err)); 413 } else { 414 console.info("getCode " + JSON.stringify(Code)); 415 } 416} 417subscriber.getCode(getCodeCallback); 418``` 419 420### getCode 421 422getCode(): Promise\<number> 423 424获取公共事件的结果代码(Promise形式)。 425 426**系统能力**:SystemCapability.Notification.CommonEvent 427 428**返回值:** 429 430| 类型 | 说明 | 431| ---------------- | -------------------- | 432| Promise\<number> | 公共事件的结果代码。 | 433 434**示例:** 435 436```js 437let subscriber; //创建成功的订阅者对象 438 439subscriber.getCode().then((Code) => { 440 console.info("getCode " + JSON.stringify(Code)); 441}).catch((err) => { 442 console.error("getCode failed " + JSON.stringify(err)); 443}); 444``` 445 446### setCode 447 448setCode(code: number, callback: AsyncCallback\<void>): void 449 450设置公共事件的结果代码(callback形式)。 451 452**系统能力**:SystemCapability.Notification.CommonEvent 453 454**参数:** 455 456| 参数名 | 类型 | 必填 | 说明 | 457| -------- | -------------------- | ---- | ---------------------- | 458| code | number | 是 | 公共事件的结果代码。 | 459| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 | 460 461**示例:** 462 463```js 464let subscriber; //创建成功的订阅者对象 465 466//设置有序公共事件的结果代码回调 467function setCodeCallback(err) { 468 if (err.code) { 469 console.error("setCode failed " + JSON.stringify(err)); 470 } else { 471 console.info("setCode"); 472 } 473} 474subscriber.setCode(1, setCodeCallback); 475``` 476 477### setCode 478 479setCode(code: number): Promise\<void> 480 481设置公共事件的结果代码(Promise形式)。 482 483**系统能力**:SystemCapability.Notification.CommonEvent 484 485**参数:** 486 487| 参数名 | 类型 | 必填 | 说明 | 488| ------ | ------ | ---- | ------------------ | 489| code | number | 是 | 公共事件的结果代码。 | 490 491**返回值:** 492 493| 类型 | 说明 | 494| ---------------- | -------------------- | 495| Promise\<void> | 返回一个Promise的结果。 | 496 497**示例:** 498 499```js 500let subscriber; //创建成功的订阅者对象 501 502subscriber.setCode(1).then(() => { 503 console.info("setCode"); 504}).catch((err) => { 505 console.error("setCode failed " + JSON.stringify(err)); 506}); 507``` 508 509### getData 510 511getData(callback: AsyncCallback\<string>): void 512 513获取公共事件的结果数据(callback形式)。 514 515**系统能力**:SystemCapability.Notification.CommonEvent 516 517**参数:** 518 519| 参数名 | 类型 | 必填 | 说明 | 520| -------- | ---------------------- | ---- | -------------------- | 521| callback | AsyncCallback\<string> | 是 | 公共事件的结果数据。 | 522 523**示例:** 524 525```js 526let subscriber; //创建成功的订阅者对象 527 528//获取有序公共事件的结果数据回调 529function getDataCallback(err, Data) { 530 if (err.code) { 531 console.error("getData failed " + JSON.stringify(err)); 532 } else { 533 console.info("getData " + JSON.stringify(Data)); 534 } 535} 536subscriber.getData(getDataCallback); 537``` 538 539### getData 540 541getData(): Promise\<string> 542 543获取公共事件的结果数据(Promise形式)。 544 545**系统能力**:SystemCapability.Notification.CommonEvent 546 547**返回值:** 548 549| 类型 | 说明 | 550| ---------------- | ------------------ | 551| Promise\<string> | 公共事件的结果数据。 | 552 553**示例:** 554 555```js 556let subscriber; //创建成功的订阅者对象 557 558subscriber.getData().then((Data) => { 559 console.info("getData " + JSON.stringify(Data)); 560}).catch((err) => { 561 console.error("getData failed " + JSON.stringify(err)); 562}); 563``` 564 565### setData 566 567setData(data: string, callback: AsyncCallback\<void>): void 568 569设置公共事件的结果数据(callback形式)。 570 571**系统能力**:SystemCapability.Notification.CommonEvent 572 573**参数:** 574 575| 参数名 | 类型 | 必填 | 说明 | 576| -------- | -------------------- | ---- | -------------------- | 577| data | string | 是 | 公共事件的结果数据。 | 578| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 | 579 580**示例:** 581 582```js 583let subscriber; //创建成功的订阅者对象 584 585//设置有序公共事件的结果数据回调 586function setDataCallback(err) { 587 if (err.code) { 588 console.error("setData failed " + JSON.stringify(err)); 589 } else { 590 console.info("setData"); 591 } 592} 593subscriber.setData("publish_data_changed", setDataCallback); 594``` 595 596### setData 597 598setData(data: string): Promise\<void> 599 600设置公共事件的结果数据(Promise形式)。 601 602**系统能力**:SystemCapability.Notification.CommonEvent 603 604**参数:** 605 606| 参数名 | 类型 | 必填 | 说明 | 607| ------ | ------ | ---- | -------------------- | 608| data | string | 是 | 公共事件的结果数据。 | 609 610**返回值:** 611 612| 类型 | 说明 | 613| ---------------- | -------------------- | 614| Promise\<void> | 返回一个Promise的结果。 | 615 616**示例:** 617 618```js 619let subscriber; //创建成功的订阅者对象 620 621subscriber.setData("publish_data_changed").then(() => { 622 console.info("setData"); 623}).catch((err) => { 624 console.error("setData failed " + JSON.stringify(err)); 625}); 626``` 627 628### setCodeAndData 629 630setCodeAndData(code: number, data: string, callback:AsyncCallback\<void>): void 631 632设置公共事件的结果代码和结果数据(callback形式)。 633 634**系统能力**:SystemCapability.Notification.CommonEvent 635 636**参数:** 637 638| 参数名 | 类型 | 必填 | 说明 | 639| -------- | -------------------- | ---- | ---------------------- | 640| code | number | 是 | 公共事件的结果代码。 | 641| data | string | 是 | 公共事件的结果数据。 | 642| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 | 643 644**示例:** 645 646```js 647let subscriber; //创建成功的订阅者对象 648 649//设置有序公共事件的结果代码和结果数据回调 650function setCodeDataCallback(err) { 651 if (err.code) { 652 console.error("setCodeAndData failed " + JSON.stringify(err)); 653 } else { 654 console.info("setCodeDataCallback"); 655 } 656} 657subscriber.setCodeAndData(1, "publish_data_changed", setCodeDataCallback); 658``` 659 660### setCodeAndData 661 662setCodeAndData(code: number, data: string): Promise\<void> 663 664设置公共事件的结果代码和结果数据(Promise形式)。 665 666**系统能力**:SystemCapability.Notification.CommonEvent 667 668**参数:** 669 670| 参数名 | 类型 | 必填 | 说明 | 671| ------ | ------ | ---- | -------------------- | 672| code | number | 是 | 公共事件的结果代码。 | 673| data | string | 是 | 公共事件的结果数据。 | 674 675**返回值:** 676 677| 类型 | 说明 | 678| ---------------- | -------------------- | 679| Promise\<void> | 返回一个Promise的结果。 | 680 681**示例:** 682 683```js 684let subscriber; //创建成功的订阅者对象 685 686subscriber.setCodeAndData(1, "publish_data_changed").then(() => { 687 console.info("setCodeAndData"); 688}).catch((err) => { 689 console.info("setCodeAndData failed " + JSON.stringify(err)); 690}); 691``` 692 693### isOrderedCommonEvent 694 695isOrderedCommonEvent(callback: AsyncCallback\<boolean>): void 696 697查询当前公共事件的是否为有序公共事件(callback形式)。 698 699返回true代表是有序公共事件,false代表不是有序公共事件。 700 701**系统能力**:SystemCapability.Notification.CommonEvent 702 703**参数:** 704 705| 参数名 | 类型 | 必填 | 说明 | 706| -------- | ----------------------- | ---- | ---------------------------------- | 707| callback | AsyncCallback\<boolean> | 是 | 当前公共事件的是否为有序公共事件。 | 708 709**示例:** 710 711```js 712let subscriber; //创建成功的订阅者对象 713 714//获取当前公共事件是否为有序事件的回调 715function isOrderedCallback(err, isOrdered) { 716 if (err.code) { 717 console.error("isOrderedCommonEvent failed " + JSON.stringify(err)); 718 } else { 719 console.info("isOrdered " + JSON.stringify(isOrdered)); 720 } 721} 722subscriber.isOrderedCommonEvent(isOrderedCallback); 723``` 724 725### isOrderedCommonEvent 726 727isOrderedCommonEvent(): Promise\<boolean> 728 729查询当前公共事件的是否为有序公共事件(Promise形式)。 730 731返回true代表是有序公共事件,false代表不是有序公共事件。 732 733**系统能力**:SystemCapability.Notification.CommonEvent 734 735**返回值:** 736 737| 类型 | 说明 | 738| ----------------- | -------------------------------- | 739| Promise\<boolean> | 当前公共事件的是否为有序公共事件。 | 740 741**示例:** 742 743```js 744let subscriber; //创建成功的订阅者对象 745 746subscriber.isOrderedCommonEvent().then((isOrdered) => { 747 console.info("isOrdered " + JSON.stringify(isOrdered)); 748}).catch((err) => { 749 console.error("isOrdered failed " + JSON.stringify(err)); 750}); 751``` 752 753### isStickyCommonEvent 754 755isStickyCommonEvent(callback: AsyncCallback\<boolean>): void 756 757检查当前公共事件是否为一个粘性事件(callback形式)。 758 759返回true代表是粘性公共事件,false代表不是粘性公共事件。 760 761**系统能力**:SystemCapability.Notification.CommonEvent 762 763**参数:** 764 765| 参数名 | 类型 | 必填 | 说明 | 766| -------- | ----------------------- | ---- | ---------------------------------- | 767| callback | AsyncCallback\<boolean> | 是 | 当前公共事件的是否为粘性公共事件。 | 768 769**示例:** 770 771```js 772let subscriber; //创建成功的订阅者对象 773 774//获取当前公共事件是否为粘性事件的回调 775function isStickyCallback(err, isSticky) { 776 if (err.code) { 777 console.error("isStickyCommonEvent failed " + JSON.stringify(err)); 778 } else { 779 console.info("isSticky " + JSON.stringify(isSticky)); 780 } 781} 782subscriber.isStickyCommonEvent(isStickyCallback); 783``` 784 785### isStickyCommonEvent 786 787isStickyCommonEvent(): Promise\<boolean> 788 789检查当前公共事件是否为一个粘性事件(Promise形式)。 790 791返回true代表是粘性公共事件,false代表不是粘性公共事件。 792 793**系统能力**:SystemCapability.Notification.CommonEvent 794 795**返回值:** 796 797| 类型 | 说明 | 798| ----------------- | -------------------------------- | 799| Promise\<boolean> | 当前公共事件的是否为粘性公共事件。 | 800 801**示例:** 802 803```js 804let subscriber; //创建成功的订阅者对象 805 806subscriber.isStickyCommonEvent().then((isSticky) => { 807 console.info("isSticky " + JSON.stringify(isSticky)); 808}).catch((err) => { 809 console.error("isSticky failed " + JSON.stringify(err)); 810}); 811``` 812 813### abortCommonEvent 814 815abortCommonEvent(callback: AsyncCallback\<void>): void 816 817取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(callback形式)。 818 819**系统能力**:SystemCapability.Notification.CommonEvent 820 821**参数:** 822 823| 参数名 | 类型 | 必填 | 说明 | 824| -------- | -------------------- | ---- | -------------------- | 825| callback | AsyncCallback\<void> | 是 | 取消当前的公共事件。 | 826 827**示例:** 828 829```js 830let subscriber; //创建成功的订阅者对象 831 832//取消当前有序公共事件的回调 833function abortCallback(err) { 834 if (err.code) { 835 console.error("abortCommonEvent failed " + JSON.stringify(err)); 836 } else { 837 console.info("abortCommonEvent"); 838 } 839} 840subscriber.abortCommonEvent(abortCallback); 841``` 842 843### abortCommonEvent 844 845abortCommonEvent(): Promise\<void> 846 847取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(Promise形式)。 848 849**系统能力**:SystemCapability.Notification.CommonEvent 850 851**返回值:** 852 853| 类型 | 说明 | 854| ---------------- | -------------------- | 855| Promise\<void> | 返回一个Promise的结果。 | 856 857**示例:** 858 859```js 860let subscriber; //创建成功的订阅者对象 861 862subscriber.abortCommonEvent().then(() => { 863 console.info("abortCommonEvent"); 864}).catch((err) => { 865 console.error("abortCommonEvent failed " + JSON.stringify(err)); 866}); 867``` 868 869### clearAbortCommonEvent 870 871clearAbortCommonEvent(callback: AsyncCallback\<void>): void 872 873清除当前公共事件的取消状态,仅对有序公共事件有效(callback形式)。 874 875**系统能力**:SystemCapability.Notification.CommonEvent 876 877**参数:** 878 879| 参数名 | 类型 | 必填 | 说明 | 880| -------- | -------------------- | ---- | -------------------- | 881| callback | AsyncCallback\<void> | 是 | 表示被指定的回调方法。 | 882 883**示例:** 884 885```js 886let subscriber; //创建成功的订阅者对象 887 888//清除当前公共事件取消状态的回调 889function clearAbortCallback(err) { 890 if (err.code) { 891 console.error("clearAbortCommonEvent failed " + JSON.stringify(err)); 892 } else { 893 console.info("clearAbortCommonEvent"); 894 } 895} 896subscriber.clearAbortCommonEvent(clearAbortCallback); 897``` 898 899### clearAbortCommonEvent 900 901clearAbortCommonEvent(): Promise\<void> 902 903清除当前公共事件的取消状态,仅对有序公共事件有效(Promise形式)。 904 905**系统能力**:SystemCapability.Notification.CommonEvent 906 907**返回值:** 908 909| 类型 | 说明 | 910| ---------------- | -------------------- | 911| Promise\<void> | 返回一个Promise的结果。 | 912 913**示例:** 914 915```js 916let subscriber; //创建成功的订阅者对象 917 918subscriber.clearAbortCommonEvent().then(() => { 919 console.info("clearAbortCommonEvent"); 920}).catch((err) => { 921 console.error("clearAbortCommonEvent failed " + JSON.stringify(err)); 922}); 923``` 924 925### getAbortCommonEvent 926 927getAbortCommonEvent(callback: AsyncCallback\<boolean>): void 928 929获取当前有序公共事件是否取消的状态(callback形式)。 930 931**系统能力**:SystemCapability.Notification.CommonEvent 932 933**参数:** 934 935| 参数名 | 类型 | 必填 | 说明 | 936| -------- | ----------------------- | ---- | ---------------------------------- | 937| callback | AsyncCallback\<boolean> | 是 | 表示当前有序公共事件是否取消的状态。 | 938 939**示例:** 940 941```js 942let subscriber; //创建成功的订阅者对象 943 944//获取当前有序公共事件是否取消的回调 945function getAbortCallback(err, AbortCommonEvent) { 946 if (err.code) { 947 console.error("getAbortCommonEvent failed " + JSON.stringify(err)); 948 } else { 949 console.info("AbortCommonEvent " + AbortCommonEvent) 950 } 951} 952subscriber.getAbortCommonEvent(getAbortCallback); 953``` 954 955### getAbortCommonEvent 956 957getAbortCommonEvent(): Promise\<boolean> 958 959获取当前有序公共事件是否取消的状态(Promise形式)。 960 961**系统能力**:SystemCapability.Notification.CommonEvent 962 963**返回值:** 964 965| 类型 | 说明 | 966| ----------------- | ---------------------------------- | 967| Promise\<boolean> | 表示当前有序公共事件是否取消的状态。 | 968 969**示例:** 970 971```js 972let subscriber; //创建成功的订阅者对象 973 974subscriber.getAbortCommonEvent().then((AbortCommonEvent) => { 975 console.info("AbortCommonEvent " + JSON.stringify(AbortCommonEvent)); 976}).catch((err) => { 977 console.error("getAbortCommonEvent failed " + JSON.stringify(err)); 978}); 979``` 980 981### getSubscribeInfo 982 983getSubscribeInfo(callback: AsyncCallback\<CommonEventSubscribeInfo>): void 984 985获取订阅者的订阅信息(callback形式)。 986 987**系统能力**:SystemCapability.Notification.CommonEvent 988 989**参数:** 990 991| 参数名 | 类型 | 必填 | 说明 | 992| -------- | ------------------------------------------------------------ | ---- | ---------------------- | 993| callback | AsyncCallback\<[CommonEventSubscribeInfo](#commoneventsubscribeinfo)> | 是 | 表示订阅者的订阅信息。 | 994 995**示例:** 996 997```js 998let subscriber; //创建成功的订阅者对象 999 1000//获取订阅者信息回调 1001function getSubscribeInfoCallback(err, SubscribeInfo) { 1002 if (err.code) { 1003 console.error("getSubscribeInfo failed " + JSON.stringify(err)); 1004 } else { 1005 console.info("SubscribeInfo " + JSON.stringify(SubscribeInfo)); 1006 } 1007} 1008subscriber.getSubscribeInfo(getSubscribeInfoCallback); 1009``` 1010 1011### getSubscribeInfo 1012 1013getSubscribeInfo(): Promise\<CommonEventSubscribeInfo> 1014 1015获取订阅者的订阅信息(Promise形式)。 1016 1017**系统能力**:SystemCapability.Notification.CommonEvent 1018 1019**返回值:** 1020 1021| 类型 | 说明 | 1022| ------------------------------------------------------------ | ---------------------- | 1023| Promise\<[CommonEventSubscribeInfo](#commoneventsubscribeinfo)> | 表示订阅者的订阅信息。 | 1024 1025**示例:** 1026 1027```js 1028let subscriber; //创建成功的订阅者对象 1029 1030subscriber.getSubscribeInfo().then((SubscribeInfo) => { 1031 console.info("SubscribeInfo " + JSON.stringify(SubscribeInfo)); 1032}).catch((err) => { 1033 console.error("getSubscribeInfo failed " + JSON.stringify(err)); 1034}); 1035``` 1036 1037### finishCommonEvent<sup>9+</sup> 1038 1039finishCommonEvent(callback: AsyncCallback\<void\>): void 1040 1041结束当前有序公共事件(callback形式)。 1042 1043**系统能力**:SystemCapability.Notification.CommonEvent 1044 1045**参数:** 1046 1047| 参数名 | 类型 | 必填 | 说明 | 1048| -------- | -------------------- | ---- | -------------------------------- | 1049| callback | AsyncCallback\<void> | 是 | 表示有序公共事件结束后的回调函数。 | 1050 1051**示例:** 1052 1053```js 1054let subscriber; //创建成功的订阅者对象 1055 1056//结束当前有序公共事件的回调 1057function finishCommonEventCallback(err) { 1058 if (err.code) { 1059 console.error("finishCommonEvent failed " + JSON.stringify(err)); 1060} else { 1061 console.info("FinishCommonEvent"); 1062} 1063} 1064subscriber.finishCommonEvent(finishCommonEventCallback); 1065``` 1066 1067### finishCommonEvent<sup>9+</sup> 1068 1069finishCommonEvent(): Promise\<void\> 1070 1071结束当前有序公共事件(Promise形式)。 1072 1073**系统能力**:SystemCapability.Notification.CommonEvent 1074 1075**返回值:** 1076 1077| 类型 | 说明 | 1078| ---------------- | -------------------- | 1079| Promise\<void> | 返回一个Promise的结果。 | 1080 1081**示例:** 1082 1083```js 1084let subscriber; //创建成功的订阅者对象 1085 1086subscriber.finishCommonEvent().then(() => { 1087 console.info("FinishCommonEvent"); 1088}).catch((err) => { 1089 console.error("finishCommonEvent failed " + JSON.stringify(err)); 1090}); 1091``` 1092 1093## CommonEventData 1094 1095公共事件数据体。 1096 1097**系统能力:** 以下各项对应的系统能力均为SystemCapability.Notification.CommonEvent 1098 1099| 名称 | 类型 | 可读 | 可写 | 说明 | 1100| ---------- |-------------------- | ---- | ---- | ------------------------------------------------------- | 1101| event | string | 是 | 否 | 表示当前接收的公共事件名称。 | 1102| bundleName | string | 是 | 否 | 表示包名称。 | 1103| code | number | 是 | 否 | 表示公共事件的结果代码,用于传递int类型的数据。 | 1104| data | string | 是 | 否 | 表示公共事件的自定义结果数据,用于传递string类型的数据。 | 1105| parameters | {[key: string]: any} | 是 | 否 | 表示公共事件的附加信息。 | 1106 1107 1108## CommonEventPublishData 1109 1110公共事件发送的数据体,包含公共事件内容和属性。 1111 1112**系统能力:** 以下各项对应的系统能力均为SystemCapability.Notification.CommonEvent 1113 1114| 名称 | 类型 | 可读 | 可写 | 说明 | 1115| --------------------- | -------------------- | ---- | ---- | ---------------------------- | 1116| bundleName | string | 是 | 否 | 表示包名称。 | 1117| code | number | 是 | 否 | 表示公共事件的结果代码。 | 1118| data | string | 是 | 否 | 表示公共事件的自定义结果数据。 | 1119| subscriberPermissions | Array\<string> | 是 | 否 | 表示订阅者的权限。 | 1120| isOrdered | boolean | 是 | 否 | 表示是否是有序事件。 | 1121| isSticky | boolean | 是 | 否 | 表示是否是粘性事件。仅系统应用或系统服务允许发送粘性事件。 | 1122| parameters | {[key: string]: any} | 是 | 否 | 表示公共事件的附加信息。 | 1123 1124## CommonEventSubscribeInfo 1125 1126订阅者信息。 1127 1128**系统能力:** 以下各项对应的系统能力均为SystemCapability.Notification.CommonEvent 1129 1130| 名称 | 类型 | 可读 | 可写 | 说明 | 1131| ------------------- | -------------- | ---- | ---- | ------------------------------------------------------------ | 1132| events | Array\<string> | 是 | 否 | 表示要发送的公共事件。 | 1133| publisherPermission | string | 是 | 否 | 表示发布者的权限。 | 1134| publisherDeviceId | string | 是 | 否 | 表示设备ID,该值必须是同一ohos网络上的现有设备ID。 | 1135| userId | number | 是 | 否 | 表示用户ID。此参数是可选的,默认值当前用户的ID。如果指定了此参数,则该值必须是系统中现有的用户ID。 | 1136| priority | number | 是 | 否 | 表示订阅者的优先级。值的范围是-100到1000。 | 1137