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