0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发接口公共事件与通知:【@ohos.events.emitter (Emitter)】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-05-21 16:06 次阅读

Emitter

说明:本模块首批接口从API version 7开始支持。

导入模块

import emitter from '@ohos.events.emitter'

权限列表

开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

EventPriority

用于表示事件被投递的优先级。

系统能力 : 以下各项对应的系统能力均为 SystemCapability.Notification.Emitter

名称说明
IMMEDIATE0表示事件被立即投递。
HIGH1表示事件先于LOW优先级投递。
LOW2表示事件优于IDLE优先级投递,事件的默认优先级是LOW。
IDLE3表示在没有其他事件的情况下,才投递该事件。

emitter.on

on(event: [InnerEvent], callback: Callback<[EventData]>): void

持续订阅某个事件以及接收事件的回调处理。

系统能力 : SystemCapability.Notification.Emitter

参数

参数名类型必填说明
event[InnerEvent]持续订阅的事件
callbackCallback<[EventData]>接收订阅事件时的回调处理

示例:

var innerEvent = {
    eventId: 1
};
var callback = (eventData) = > {
    console.info('callback');
};
emitter.on(innerEvent, callback);

emitter.once

once(event: [InnerEvent], callback: Callback<[EventData]>): void

单次订阅某个事件以及接收事件的回调处理,接收到回调处理后自动取消订阅。

系统能力 : SystemCapability.Notification.Emitter

参数:

参数名类型必填说明
event[InnerEvent]单次订阅的事件
callbackCallback<[EventData]>接收订阅事件时的回调处理

示例:

var innerEvent = {
    eventId: 1
};
var callback = (eventData) = > {
    console.info('once callback');
};
emitter.once(innerEvent, callback);

emitter.off

off(eventId: number): void

取消订阅某个事件。

系统能力 : SystemCapability.Notification.Emitter

参数:

参数名类型必填说明
eventIdnumber事件ID

示例:

emitter.off(1);

emitter.emit

emit(event: InnerEvent, data?: EventData): void

发送一个事件到事件队列。

系统能力 : SystemCapability.Notification.Emitter

参数:

参数名类型必填说明
event[InnerEvent]发送的事件
data[EventData]事件携带的数据

示例:

var eventData = {
    data: {
        "content": "c",
        "id": 1,
    }};
var innerEvent = {
    eventId: 1,
    priority: emitter.EventPriority.HIGH
};
emitter.emit(innerEvent, eventData);

InnerEvent

进程内的事件。

系统能力 : 以下各项对应的系统能力均为 SystemCapability.Notification.Emitter

名称参数类型可读可写说明
eventIdnumber事件的ID,由开发者定义用来辨别事件。
priority[EventPriority]事件被投递的优先级。HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿

搜狗高速浏览器截图20240326151450.png

EventData

发送事件时传递的数据。

系统能力 : 以下各项对应的系统能力均为 SystemCapability.Notification.Emitter

名称参数类型可读可写说明
data[key: string]: any发送事件时传递的数据,数据类型支持字符串、整型和布尔型。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    8582

    浏览量

    151067
  • 鸿蒙
    +关注

    关注

    57

    文章

    2347

    浏览量

    42827
收藏 人收藏

    评论

    相关推荐

    HarmonyOS开发实例:【自定义Emitter

    使用[Emitter]实现事件的订阅和发布,使用[自定义弹窗]设置广告信息。
    的头像 发表于 04-14 11:37 997次阅读
    HarmonyOS<b class='flag-5'>开发</b>实例:【自定义<b class='flag-5'>Emitter</b>】

    鸿蒙开发接口公共事件与通知:【@ohos.commonEvent (公共事件模块)】

    本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
    的头像 发表于 05-21 11:13 1091次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件与<b class='flag-5'>通知</b>:【@<b class='flag-5'>ohos</b>.commonEvent (<b class='flag-5'>公共事</b>件模块)】

    鸿蒙开发接口公共事件与通知:【Notification模块】

    本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
    的头像 发表于 05-21 17:04 2198次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件与<b class='flag-5'>通知</b>:【Notification模块】

    鸿蒙开发接口公共事件与通知:【@ohos.reminderAgent (后台代理提醒)】

    开发应用时,开发者可以调用后台提醒发布的接口创建定时提醒,包括倒计时、日历、闹钟三种提醒类型。使用后台代理提醒能力后,应用可以被冻结或退出,计时和弹出提醒的功能将被后台系统服务代理。
    的头像 发表于 05-25 16:27 724次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件与<b class='flag-5'>通知</b>:【@<b class='flag-5'>ohos</b>.reminderAgent (后台代理提醒)】

    鸿蒙开发接口公共事件与通知:【application/EventHub (EventHub)】

    EventHub模块提供了事件中心,提供订阅、取消订阅、触发事件的能力。
    的头像 发表于 05-25 16:31 797次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件与<b class='flag-5'>通知</b>:【application/EventHub (EventHub)】

    鸿蒙开发接口公共事件与通知:【FFI能力】 N-API在Android、iOS平台应用的使用指导

    N-API接口可以实现ArkTS/TS/JS与C/C++(Native)之间的交互,ArkUI-X中支持的N-API接口情况和使用场景请见[FFI能力(N-API)]。本文档以[ArkUI-X/Samples]中的Native样例工程为例,介绍如何在Android平台上使
    的头像 发表于 05-25 16:33 1917次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件与<b class='flag-5'>通知</b>:【FFI能力】 N-API在Android、iOS平台应用的使用指导

    鸿蒙原生应用/元服务开发-通知添加行为意图

    WantAgent提供了封装行为意图的能力,这里所说的行为意图主要是指拉起指定的应用组件及发布公共事件等能力。HarmonyOS支持以通知的形式,将WantAgent从发布方传递至接收方,从而在接收
    发表于 01-05 15:07

    基于ArkTS语言的OpenHarmony APP应用开发公共事件的订阅和发布

    监听特定系统公共事件,应用退出后该选项将自动调整为“从不”。 返回值应用菜单页面,点击“关于”可查看应用版本信息及本示例的说明。 本案例已在OpenHarmony凌蒙派-RK3568开发板验证通过
    发表于 09-18 13:16

    请问contains multiple open emitter pins是什么意思?

    contains multiple open emitter pins是什么意思啊?
    发表于 03-12 04:19

    HarmonyOS应用开发-公共事件处理

    开发过程中service想要控制多个ability时,可以考虑使用公共事件处理。发布无序的公共事件: //发布公共事件 同步修改卡片与页面public void subscribeE
    发表于 11-02 15:15

    OpenHarmony3.1release Emitter无法在service中发送事件是为什么?

    环境设备:DAYU200系统:OpenHarmony 3.1 release问题描述在FA中使用 Emitter 可以订阅事件和发送事件,但是在service中的数据想要通知FA时,无法通过
    发表于 06-02 14:56

    鸿蒙原生应用/元服务开发-Stage模型能力接口(四)

    一、说明 AbilityStage是HAP的运行时类。AbilityStage类提供在HAP加载的时候,通知开发者,可以在此进行该HAP的初始化(如资源预加载,线程创建等)能力。 本模块首批接口
    发表于 12-14 15:39

    鸿蒙开发接口Ability框架:【@ohos.ability.wantConstant (wantConstant)】

    wantConstant模块提供want中action和entity的权限列表的能力,包括系统公共事件宏,系统公共事件名称等。
    的头像 发表于 04-30 16:33 619次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b>Ability框架:【@<b class='flag-5'>ohos</b>.ability.wantConstant (wantConstant)】

    鸿蒙开发接口公共事件与通知:【FFI能力(Node-API)】

    Node-API是封装底层JavaScript运行时能力的一套Native接口。OpenHarmony的N-API组件对Node-API的接口进行了重新实现,ArkUI-X同样拥有这部分能力,目前支持部分接口,支持列表。
    的头像 发表于 05-21 16:38 976次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件与<b class='flag-5'>通知</b>:【FFI能力(Node-API)】

    基于ArkTS语言的OpenHarmony APP应用开发公共事件的订阅和发布

    1、程序介绍本示例主要展示了公共事件相关的功能,实现了一个检测用户部分行为的应用。具体而言,本案例实现了如下几个公共事件功能:通过订阅系统公共事件,实现对用户操作行为(亮灭屏、断联网)的监测;通过
    的头像 发表于 09-19 08:05 448次阅读
    基于ArkTS语言的OpenHarmony APP应用<b class='flag-5'>开发</b>:<b class='flag-5'>公共事</b>件的订阅和发布