1# @ohos.events.emitter (Emitter) 2 3本模块提供了在同一进程不同线程间或同一线程内发送和处理事件的能力,支持持续订阅事件、单次订阅事件、取消订阅事件及发送事件到事件队列。 4 5> **说明:** 6> 7> 本模块首批接口从API version 7开始支持。后续版本新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import { emitter } from '@kit.BasicServicesKit'; 13``` 14 15## 权限列表 16 17无权限要求。 18 19## emitter.on 20 21on(event: InnerEvent, callback: Callback\<EventData\>): void 22 23持续订阅指定的事件,并在接收到该事件时,执行对应的回调处理函数。 24 25**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 26 27**系统能力**: `SystemCapability.Notification.Emitter` 28 29**参数:** 30 31| 参数名 | 类型 | 必填 | 说明 | 32| -------- | ----------------------------------- | ---- | ------------------------------------------------------------ | 33| event | [InnerEvent](#innerevent) | 是 | 持续订阅的事件,其中[EventPriority](#eventpriority),在订阅事件时无需指定,也不生效。 | 34| callback | Callback\<[EventData](#eventdata)\> | 是 | 接收到该事件时需要执行的回调处理函数。 | 35 36**示例:** 37 38```ts 39import { Callback } from '@kit.BasicServicesKit'; 40 41let innerEvent: emitter.InnerEvent = { 42 eventId: 1 43}; 44 45let callback: Callback<emitter.EventData> = (eventData: emitter.EventData) => { 46 console.info(`eventData: ${JSON.stringify(eventData)}`); 47} 48 49// 收到eventId为1的事件后执行回调函数 50emitter.on(innerEvent, callback); 51``` 52 53## emitter.on<sup>11+</sup> 54 55on(eventId: string, callback: Callback\<EventData\>): void 56 57持续订阅指定的事件,并在接收到该事件时,执行对应的回调处理函数。 58 59**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 60 61**系统能力**: `SystemCapability.Notification.Emitter` 62 63**参数:** 64 65| 参数名 | 类型 | 必填 | 说明 | 66| -------- | ----------------------------------- | ---- | -------------------------------------- | 67| eventId | string | 是 | 持续订阅的事件。取值为长度不超过10240字节的自定义字符串,且不可为空字符。 | 68| callback | Callback\<[EventData](#eventdata)\> | 是 | 接收到该事件时需要执行的回调处理函数。 | 69 70**示例:** 71 72```ts 73import { Callback } from '@kit.BasicServicesKit'; 74 75let callback: Callback<emitter.EventData> = (eventData: emitter.EventData) => { 76 console.info(`eventData: ${JSON.stringify(eventData)}`); 77} 78// 收到eventId为"eventId"的事件后执行回调函数 79emitter.on(`eventId`, callback); 80``` 81 82## emitter.on<sup>12+</sup> 83 84on<T\>(eventId: string, callback: Callback\<GenericEventData<T\>\>): void 85 86持续订阅指定的事件,并在接收到该事件时,执行对应的回调处理函数。 87 88**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 89 90**系统能力**: `SystemCapability.Notification.Emitter` 91 92**参数:** 93 94| 参数名 | 类型 | 必填 | 说明 | 95| -------- | ----------------------------------- | ---- | -------------------------------------- | 96| eventId | string | 是 | 持续订阅的事件。取值为长度不超过10240字节的自定义字符串,且不可为空字符。 | 97| callback | Callback\<[GenericEventData<T\>](#genericeventdatat12)\> | 是 | 接收到该事件时需要执行的回调处理函数。 | 98 99**示例:** 100 101```ts 102import { Callback } from '@kit.BasicServicesKit'; 103 104@Sendable 105class Sample { 106 constructor() { 107 this.count = 100; 108 } 109 printCount() { 110 console.info('Print count : ' + this.count); 111 } 112 count: number; 113} 114 115let callback: Callback<emitter.GenericEventData<Sample>> = (eventData: emitter.GenericEventData<Sample>): void => { 116 console.info(`eventData: ${JSON.stringify(eventData?.data)}`); 117 if (eventData?.data instanceof Sample) { 118 eventData?.data?.printCount(); 119 } 120} 121// 收到eventId为"eventId"的事件后执行回调函数 122emitter.on("eventId", callback); 123``` 124 125## emitter.once 126 127once(event: InnerEvent, callback: Callback\<EventData\>): void 128 129单次订阅指定的事件,在接收到该事件且执行完对应的回调函数后,自动取消订阅。 130 131**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 132 133**系统能力**: `SystemCapability.Notification.Emitter` 134 135**参数:** 136 137| 参数名 | 类型 | 必填 | 说明 | 138| -------- | ----------------------------------- | ---- | ------------------------------------------------------------ | 139| event | [InnerEvent](#innerevent) | 是 | 单次订阅的事件,其中[EventPriority](#eventpriority),在订阅事件时无需指定,也不生效。 | 140| callback | Callback\<[EventData](#eventdata)\> | 是 | 接收到该事件时需要执行的回调处理函数。 | 141 142**示例:** 143 144```ts 145import { Callback } from '@kit.BasicServicesKit'; 146 147let innerEvent: emitter.InnerEvent = { 148 eventId: 1 149}; 150 151let callback: Callback<emitter.EventData> = (eventData: emitter.EventData) => { 152 console.info(`eventData: ${JSON.stringify(eventData)}`); 153} 154// 收到eventId为1的事件后执行该回调函数 155emitter.once(innerEvent, callback); 156``` 157 158## emitter.once<sup>11+</sup> 159 160once(eventId: string, callback: Callback\<EventData\>): void 161 162单次订阅指定的事件,在接收到该事件且执行完对应的回调函数后,自动取消订阅。 163 164**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 165 166**系统能力**: `SystemCapability.Notification.Emitter` 167 168**参数:** 169 170| 参数名 | 类型 | 必填 | 说明 | 171| -------- | ----------------------------------- | ---- | -------------------------------------- | 172| eventId | string | 是 | 单次订阅的事件。取值为长度不超过10240字节的自定义字符串,且不可为空字符。 | 173| callback | Callback\<[EventData](#eventdata)\> | 是 | 接收到该事件时需要执行的回调处理函数。 | 174 175**示例:** 176 177```ts 178import { Callback } from '@kit.BasicServicesKit'; 179 180let callback: Callback<emitter.EventData> = (eventData: emitter.EventData) => { 181 console.info(`eventData: ${JSON.stringify(eventData)}`); 182} 183// 收到eventId为"eventId"的事件后执行该回调函数 184emitter.once("eventId", callback); 185``` 186 187## emitter.once<sup>12+</sup> 188 189once<T\>(eventId: string, callback: Callback\<GenericEventData<T\>\>): void 190 191单次订阅指定的事件,在接收到该事件且执行完相应的回调函数后,自动取消订阅。 192 193**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 194 195**系统能力**: `SystemCapability.Notification.Emitter` 196 197**参数:** 198 199| 参数名 | 类型 | 必填 | 说明 | 200| -------- | ----------------------------------- | ---- | -------------------------------------- | 201| eventId | string | 是 | 单次订阅的事件。取值为长度不超过10240字节的自定义字符串,且不可为空字符。 | 202| callback | Callback\<[GenericEventData<T\>](#genericeventdatat12)\> | 是 | 接收到该事件时需要执行的回调处理函数。 | 203 204**示例:** 205 206```ts 207import { Callback } from '@kit.BasicServicesKit'; 208 209@Sendable 210class Sample { 211 constructor() { 212 this.count = 100; 213 } 214 printCount() { 215 console.info('Print count : ' + this.count); 216 } 217 count: number; 218} 219 220let callback: Callback<emitter.GenericEventData<Sample>> = (eventData: emitter.GenericEventData<Sample>): void => { 221 console.info(`eventData: ${JSON.stringify(eventData?.data)}`); 222 if (eventData?.data instanceof Sample) { 223 eventData?.data?.printCount(); 224 } 225} 226// 收到eventId为"eventId"的事件后执行回调函数 227emitter.once("eventId", callback); 228``` 229 230## emitter.off 231 232off(eventId: number): void 233 234取消事件ID为eventId的所有订阅。 235 236使用该接口取消某个事件订阅后,已通过[emit](#emitteremit)接口发布但尚未被执行的事件将被取消。 237 238**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 239 240**系统能力**: `SystemCapability.Notification.Emitter` 241 242**参数:** 243 244| 参数名 | 类型 | 必填 | 说明 | 245| ------- | ------ | ---- | -------- | 246| eventId | number | 是 | 事件ID。 | 247 248**示例:** 249 250```ts 251// 取消eventID为1的所有事件回调处理函数 252emitter.off(1); 253``` 254 255## emitter.off<sup>11+</sup> 256 257off(eventId: string): void 258 259取消事件ID为eventId的所有订阅。 260 261使用该接口取消某个事件订阅后,已通过[emit](#emitteremit11)接口发布但尚未被执行的事件将被取消。 262 263**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 264 265**系统能力**: `SystemCapability.Notification.Emitter` 266 267**参数:** 268 269| 参数名 | 类型 | 必填 | 说明 | 270| ------- | ------ | ---- | -------- | 271| eventId | string | 是 | 事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。 | 272 273**示例:** 274 275```ts 276// 取消eventID为"eventId"的所有事件回调处理函数 277emitter.off("eventId"); 278``` 279 280## emitter.off<sup>10+</sup> 281 282off(eventId: number, callback: Callback\<EventData\>): void 283 284取消事件ID为eventId且回调处理函数为callback的订阅。仅当已使用[on](#emitteron)或[once](#emitteronce)接口订阅callback时,该接口才生效。 285 286使用该接口取消某个事件订阅后,已通过[emit](#emitteremit)接口发布但尚未被执行的事件将被取消。 287 288**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 289 290**系统能力**: `SystemCapability.Notification.Emitter` 291 292**参数:** 293 294| 参数名 | 类型 | 必填 | 说明 | 295| ------- | ------ | ---- | ------ | 296| eventId | number | 是 | 事件ID。 | 297| callback | Callback\<[EventData](#eventdata)\> | 是 | 事件的回调处理函数。 | 298 299**示例:** 300 301```ts 302import { Callback } from '@kit.BasicServicesKit'; 303 304let callback: Callback<emitter.EventData> = (eventData: emitter.EventData) => { 305 console.info(`eventData: ${JSON.stringify(eventData)}`); 306} 307// 取消eventID为1的事件回调处理函数,callback对象应使用订阅时的对象 308// 如果该回调处理函数没有被订阅,则不做任何处理 309emitter.off(1, callback); 310``` 311 312## emitter.off<sup>11+</sup> 313 314off(eventId: string, callback: Callback\<EventData\>): void 315 316取消事件ID为eventId且回调处理函数为callback的订阅。仅当已使用[on](#emitteron11)或[once](#emitteronce11)接口订阅callback时,该接口才生效。 317 318使用该接口取消某个事件订阅后,已通过[emit](#emitteremit11)接口发布但尚未被执行的事件将被取消。 319 320**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 321 322**系统能力**: `SystemCapability.Notification.Emitter` 323 324**参数:** 325 326| 参数名 | 类型 | 必填 | 说明 | 327| -------- | ----------------------------------- | ---- | -------------------------- | 328| eventId | string | 是 | 事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。 | 329| callback | Callback\<[EventData](#eventdata)\> | 是 | 事件的回调处理函数。 | 330 331**示例:** 332 333```ts 334import { Callback } from '@kit.BasicServicesKit'; 335 336let callback: Callback<emitter.EventData> = (eventData: emitter.EventData) => { 337 console.info(`eventData: ${JSON.stringify(eventData)}`); 338} 339// 取消eventID为"eventId"的事件回调处理函数,callback对象应使用订阅时的对象 340// 如果该回调处理函数没有被订阅,则不做任何处理 341emitter.off("eventId", callback); 342``` 343 344## emitter.off<sup>12+</sup> 345 346off<T\>(eventId: string, callback: Callback\<GenericEventData<T\>\>): void 347 348取消事件ID为eventId且回调处理函数为callback的订阅。仅当已使用[on](#emitteron12)或[once](#emitteronce12)接口订阅callback时,该接口才生效。 349 350使用该接口取消某个事件订阅后,已通过[emit](#emitteremit12)接口发布但尚未被执行的事件将被取消。 351 352**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 353 354**系统能力**: `SystemCapability.Notification.Emitter` 355 356**参数:** 357 358| 参数名 | 类型 | 必填 | 说明 | 359| -------- | ----------------------------------- | ---- | -------------------------- | 360| eventId | string | 是 | 事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。 | 361| callback | Callback\<[GenericEventData<T\>](#genericeventdatat12)\> | 是 | 事件的回调处理函数。 | 362 363**示例:** 364 365```ts 366import { Callback } from '@kit.BasicServicesKit'; 367 368@Sendable 369class Sample { 370 constructor() { 371 this.count = 100; 372 } 373 printCount() { 374 console.info('Print count : ' + this.count); 375 } 376 count: number; 377} 378 379let callback: Callback<emitter.GenericEventData<Sample>> = (eventData: emitter.GenericEventData<Sample>): void => { 380 console.info(`eventData: ${JSON.stringify(eventData?.data)}`); 381 if (eventData?.data instanceof Sample) { 382 eventData?.data?.printCount(); 383 } 384} 385// 取消eventID为"eventId"的事件回调处理函数,callback对象应使用订阅时的对象 386// 如果该回调处理函数没有被订阅,则不做任何处理 387emitter.off("eventId", callback); 388``` 389 390## emitter.emit 391 392emit(event: InnerEvent, data?: EventData): void 393 394发送指定事件。 395 396该接口支持跨线程传输数据对象,需要遵循数据跨线程传输的规格约束,详见[线程间通信对象](../../arkts-utils/serializable-overview.md)。目前不支持使用[@State装饰器](../../ui/state-management/arkts-state.md)、[@Observed装饰器](../../ui/state-management/arkts-observed-and-objectlink.md)等装饰器修饰的复杂类型数据。 397 398**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 399 400**系统能力**: `SystemCapability.Notification.Emitter` 401 402**参数:** 403 404| 参数名 | 类型 | 必填 | 说明 | 405| ------ | ------------------------- | ---- | ------------- | 406| event | [InnerEvent](#innerevent) | 是 | 发送的事件,其中[EventPriority](#eventpriority)用于指定事件被发送的优先级。 | 407| data | [EventData](#eventdata) | 否 | 事件携带的数据。 | 408 409**示例:** 410 411```ts 412let eventData: emitter.EventData = { 413 data: { 414 "content": "content", 415 "id": 1, 416 } 417}; 418 419let innerEvent: emitter.InnerEvent = { 420 eventId: 1, 421 priority: emitter.EventPriority.HIGH 422}; 423 424emitter.emit(innerEvent, eventData); 425``` 426 427## emitter.emit<sup>11+</sup> 428 429emit(eventId: string, data?: EventData): void 430 431发送指定事件。 432 433该接口支持跨线程传输数据对象,需要遵循数据跨线程传输的规格约束,详见[线程间通信对象](../../arkts-utils/serializable-overview.md)。目前不支持使用[@State装饰器](../../ui/state-management/arkts-state.md)、[@Observed装饰器](../../ui/state-management/arkts-observed-and-objectlink.md)等装饰器修饰的复杂类型数据。 434 435**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 436 437**系统能力**: `SystemCapability.Notification.Emitter` 438 439**参数:** 440 441| 参数名 | 类型 | 必填 | 说明 | 442| ------- | ----------------------- | ---- | ---------------- | 443| eventId | string | 是 | 发送的事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。 | 444| data | [EventData](#eventdata) | 否 | 事件携带的数据。 | 445 446**示例:** 447 448```ts 449let eventData: emitter.EventData = { 450 data: { 451 "content": "content", 452 "id": 1, 453 } 454}; 455 456emitter.emit("eventId", eventData); 457``` 458 459## emitter.emit<sup>12+</sup> 460 461emit<T\>(eventId: string, data?: GenericEventData<T\>): void 462 463发送指定事件。 464 465该接口支持跨线程传输数据对象,需要遵循数据跨线程传输的规格约束,详见[线程间通信对象](../../arkts-utils/serializable-overview.md)。目前不支持使用[@State装饰器](../../ui/state-management/arkts-state.md)、[@Observed装饰器](../../ui/state-management/arkts-observed-and-objectlink.md)等装饰器修饰的复杂类型数据。 466 467**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 468 469**系统能力**: `SystemCapability.Notification.Emitter` 470 471**参数:** 472 473| 参数名 | 类型 | 必填 | 说明 | 474| ------- | ----------------------- | ---- | ---------------- | 475| eventId | string | 是 | 发送的事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。 | 476| data | [GenericEventData<T\>](#genericeventdatat12) | 否 | 事件携带的数据。 | 477 478**示例:** 479 480```ts 481@Sendable 482class Sample { 483 constructor() { 484 this.count = 100; 485 } 486 printCount() { 487 console.info('Print count : ' + this.count); 488 } 489 count: number; 490} 491 492let eventData: emitter.GenericEventData<Sample> = { 493 data: new Sample() 494}; 495emitter.emit("eventId", eventData); 496``` 497 498## emitter.emit<sup>11+</sup> 499 500emit(eventId: string, options: Options, data?: EventData): void 501 502发送指定优先级事件。 503 504该接口支持跨线程传输数据对象,需要遵循数据跨线程传输的规格约束,详见[线程间通信对象](../../arkts-utils/serializable-overview.md)。目前不支持使用[@State装饰器](../../ui/state-management/arkts-state.md)、[@Observed装饰器](../../ui/state-management/arkts-observed-and-objectlink.md)等装饰器修饰的复杂类型数据。 505 506**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 507 508**系统能力**: `SystemCapability.Notification.Emitter` 509 510**参数:** 511 512| 参数名 | 类型 | 必填 | 说明 | 513| ------- | ----------------------- | ---- | ---------------- | 514| eventId | string | 是 | 发送的事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。 | 515| options | [Options](#options11) | 是 | 事件优先级。 | 516| data | [EventData](#eventdata) | 否 | 事件携带的数据。 | 517 518**示例:** 519 520```ts 521let eventData: emitter.EventData = { 522 data: { 523 "content": "content", 524 "id": 1, 525 } 526}; 527 528let options: emitter.Options = { 529 priority: emitter.EventPriority.HIGH 530}; 531 532emitter.emit("eventId", options, eventData); 533``` 534 535## emitter.emit<sup>12+</sup> 536 537emit<T\>(eventId: string, options: Options, data?: GenericEventData<T\>): void 538 539发送指定优先级事件。 540 541该接口支持跨线程传输数据对象,需要遵循数据跨线程传输的规格约束,详见[线程间通信对象](../../arkts-utils/serializable-overview.md)。目前不支持使用[@State装饰器](../../ui/state-management/arkts-state.md)、[@Observed装饰器](../../ui/state-management/arkts-observed-and-objectlink.md)等装饰器修饰的复杂类型数据。 542 543**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 544 545**系统能力**: `SystemCapability.Notification.Emitter` 546 547**参数:** 548 549| 参数名 | 类型 | 必填 | 说明 | 550| ------- | ----------------------- | ---- | ---------------- | 551| eventId | string | 是 | 发送的事件ID。取值为长度不超过10240字节的自定义字符串,且不可为空字符。 | 552| options | [Options](#options11) | 是 | 事件优先级。 | 553| data | [GenericEventData<T\>](#genericeventdatat12) | 否 | 事件携带的数据。 | 554 555**示例:** 556 557```ts 558@Sendable 559class Sample { 560 constructor() { 561 this.count = 100; 562 } 563 printCount() { 564 console.info('Print count : ' + this.count); 565 } 566 count: number; 567} 568 569let options: emitter.Options = { 570 priority: emitter.EventPriority.HIGH 571}; 572let eventData: emitter.GenericEventData<Sample> = { 573 data: new Sample() 574}; 575 576emitter.emit("eventId", options, eventData); 577``` 578 579## emitter.getListenerCount<sup>11+</sup> 580 581getListenerCount(eventId: number | string): number 582 583获取指定事件的订阅数。 584 585**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 586 587**系统能力**: `SystemCapability.Notification.Emitter` 588 589**参数:** 590 591| 参数名 | 类型 | 必填 | 说明 | 592| ------- | -------------- | ---- | -------- | 593| eventId | number \| string | 是 | 事件ID,string类型的eventId取值为长度不超过10240字节的自定义字符串,且不可为空字符。 | 594 595**返回值:** 596 597| 类型 | 说明 | 598| ------- |------------| 599| number | 指定事件的订阅数。 | 600 601 602**示例:** 603 604```ts 605let count = emitter.getListenerCount("eventId"); 606``` 607 608## EventPriority 609 610表示事件的优先级。 611 612**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 613 614**系统能力**: `SystemCapability.Notification.Emitter` 615 616| 名称 | 值 | 说明 | 617| --------- | ---- | --------------------------------------------------- | 618| IMMEDIATE | 0 | 表示事件被立即投递。 | 619| HIGH | 1 | 表示事件先于LOW优先级投递。 | 620| LOW | 2 | 表示事件优于IDLE优先级投递,事件的默认优先级是LOW。 | 621| IDLE | 3 | 表示在没有其他事件的情况下,才投递该事件。 | 622 623## InnerEvent 624 625订阅或发送的事件,订阅事件时`EventPriority`不生效。 626 627**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 628 629**系统能力**: `SystemCapability.Notification.Emitter` 630 631| 名称 | 类型 | 只读 | 可选 | 说明 | 632| -------- | ------------------------------- | ---- | ---- | ------------------------------ | 633| eventId | number | 否 | 否 | 事件ID,由开发者定义,用于辨别事件。 | 634| priority | [EventPriority](#eventpriority) | 否 | 是 | 事件的优先级,默认值为EventPriority.LOW。 | 635 636## EventData 637 638发送事件时传递的数据。 639 640**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 641 642**系统能力**: `SystemCapability.Notification.Emitter` 643 644| 名称 | 类型 | 只读 | 可选 | 说明 | 645| ---- | ------------------ | ---- | ---- | -------------- | 646| data | { [key: string]: any } | 否 | 是 | 发送事件时传递的数据,支持数据类型包括Array、ArrayBuffer、Boolean、DataView、Date、Error、Map、Number、Object、Primitive(除了symbol)、RegExp、Set、String、TypedArray,数据大小最大为16M。 | 647 648## Options<sup>11+</sup> 649 650发送事件的优先级。 651 652**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 653 654**系统能力**: `SystemCapability.Notification.Emitter` 655 656| 名称 | 类型 | 只读 | 可选 | 说明 | 657| -------- | ------------------------------- | ---- | ---- | -------------- | 658| priority | [EventPriority](#eventpriority) | 否 | 是 | 事件的优先级,默认值为EventPriority.LOW。 | 659 660## GenericEventData<T\><sup>12+</sup> 661 662发送事件时传递的泛型数据。 663 664**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 665 666**系统能力**: `SystemCapability.Notification.Emitter` 667 668| 名称 | 类型 | 只读 | 可选 | 说明 | 669| -------- | ------------------------------- | ---- | ---- | -------------- | 670| data | T | 否 | 是 | 发送事件时传递的数据。T:泛型类型。 |