0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開發(fā)接口公共事件與通知:【application/EventHub (EventHub)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-25 16:31 ? 次閱讀

EventHub

EventHub模塊提供了事件中心,提供訂閱、取消訂閱、觸發(fā)事件的能力。

說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]點(diǎn)擊或者復(fù)制轉(zhuǎn)到。
本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
本模塊接口僅可在Stage模型下使用。

使用說明

?在使用eventHub的功能前,需要通過Ability實(shí)例的成員變量context獲取。

import Ability from '@ohos.application.Ability'
export default class MainAbility extends Ability {
    func1(){
        console.log("func1 is called");
    }
    onForeground() {
        this.context.eventHub.on("123", this.func1);
    }
}

EventHub.on

on(event: string, callback: Function): void;

訂閱指定事件。

系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core

參數(shù)

參數(shù)名類型必填說明
eventstring事件名稱。
callbackFunction事件回調(diào),事件觸發(fā)后運(yùn)行。

示例:

import Ability from '@ohos.application.Ability'

export default class MainAbility extends Ability {
    onForeground() {
        this.context.eventHub.on("123", this.func1);
        this.context.eventHub.on("123", () = > {
            console.log("call anonymous func 1");
        });
        // 結(jié)果:
        // func1 is called
        // call anonymous func 1
        this.context.eventHub.emit("123"); 
    }
    func1() {
        console.log("func1 is called");
    }
}

EventHub.off

off(event: string, callback?: Function): void;

取消訂閱指定事件。當(dāng)callback傳值時,取消訂閱指定的callback;未傳值時,取消訂閱該事件下所有callback。

系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core

參數(shù):

參數(shù)名類型必填說明
eventstring事件名稱。
callbackFunction事件回調(diào)。如果不傳callback,則取消訂閱該事件下所有callback。

示例:

import Ability from '@ohos.application.Ability'

export default class MainAbility extends Ability {
    onForeground() {
        this.context.eventHub.on("123", this.func1);
        this.context.eventHub.off("123", this.func1); //取消訂閱func1
        this.context.eventHub.on("123", this.func1);
        this.context.eventHub.on("123", this.func2);
        this.context.eventHub.off("123");  //取消訂閱func1和func2
    }
    func1() {
        console.log("func1 is called");
    }
    func2() {
        console.log("func2 is called");
    }
}

EventHub.emit

emit(event: string, ...args: Object[]): void;

觸發(fā)指定事件。

系統(tǒng)能力 :SystemCapability.Ability.AbilityRuntime.Core

參數(shù):

搜狗高速瀏覽器截圖20240326151450.png

參數(shù)名類型必填說明HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
eventstring事件名稱。
...argsObject[]可變參數(shù),事件觸發(fā)時,傳遞給回調(diào)函數(shù)的參數(shù)。

示例:

import Ability from '@ohos.application.Ability'

export default class MainAbility extends Ability {
    onForeground() {
        this.context.eventHub.on("123", this.func1);
        // 結(jié)果:
        // func1 is called,undefined,undefined
        this.context.eventHub.emit("123");
        // 結(jié)果:
        // func1 is called,1,undefined
        this.context.eventHub.emit("123", 1);
        // 結(jié)果:
        // func1 is called,1,2
        this.context.eventHub.emit("123", 1, 2);
    }
    func1(a, b) {
        console.log("func1 is called," + a + "," + b);
    }
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 移動開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    9578
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2627

    瀏覽量

    65785
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1946

    瀏覽量

    29739
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3548

    瀏覽量

    15740
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    188

    瀏覽量

    4336
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙開發(fā)接口公共事件與通知:【@ohos.commonEvent (公共事件模塊)】

    本模塊首批接口從API version 7開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
    的頭像 發(fā)表于 05-21 11:13 ?845次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件與<b class='flag-5'>通知</b>:【@ohos.commonEvent (<b class='flag-5'>公共事</b>件模塊)】

    鴻蒙開發(fā)接口公共事件與通知:【@ohos.events.emitter (Emitter)】

    本模塊首批接口從API version 7開始支持。
    的頭像 發(fā)表于 05-21 16:06 ?1152次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件與<b class='flag-5'>通知</b>:【@ohos.events.emitter (Emitter)】

    鴻蒙開發(fā)接口公共事件與通知:【Notification模塊】

    本模塊首批接口從API version 7開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
    的頭像 發(fā)表于 05-21 17:04 ?1751次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件與<b class='flag-5'>通知</b>:【Notification模塊】

    鴻蒙開發(fā)接口公共事件與通知:【@ohos.reminderAgent (后臺代理提醒)】

    開發(fā)應(yīng)用時,開發(fā)者可以調(diào)用后臺提醒發(fā)布的接口創(chuàng)建定時提醒,包括倒計時、日歷、鬧鐘三種提醒類型。使用后臺代理提醒能力后,應(yīng)用可以被凍結(jié)或退出,計時和彈出提醒的功能將被后臺系統(tǒng)服務(wù)代理。
    的頭像 發(fā)表于 05-25 16:27 ?531次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件與<b class='flag-5'>通知</b>:【@ohos.reminderAgent (后臺代理提醒)】

    鴻蒙開發(fā)接口公共事件與通知:【FFI能力】 N-API在Android、iOS平臺應(yīng)用的使用指導(dǎo)

    N-API接口可以實(shí)現(xiàn)ArkTS/TS/JS與C/C++(Native)之間的交互,ArkUI-X中支持的N-API接口情況和使用場景請見[FFI能力(N-API)]。本文檔以[ArkUI-X/Samples]中的Native樣例工程為例,介紹如何在Android平臺上使
    的頭像 發(fā)表于 05-25 16:33 ?1648次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件與<b class='flag-5'>通知</b>:【FFI能力】 N-API在Android、iOS平臺應(yīng)用的使用指導(dǎo)

    鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-通知添加行為意圖

    WantAgent提供了封裝行為意圖的能力,這里所說的行為意圖主要是指拉起指定的應(yīng)用組件及發(fā)布公共事件等能力。HarmonyOS支持以通知的形式,將WantAgent從發(fā)布方傳遞至接收方,從而在接收
    發(fā)表于 01-05 15:07

    鴻蒙實(shí)戰(zhàn)基礎(chǔ)(ArkTS)-窗口管理

    :${err.code}, message:${err.message}`); return; } }); } 驗證碼校驗子窗口通過公共事EventHub通知登錄主窗口跳轉(zhuǎn)。首先,在登錄主窗口
    發(fā)表于 01-12 17:51

    基于ArkTS語言的OpenHarmony APP應(yīng)用開發(fā)公共事件的訂閱和發(fā)布

    監(jiān)聽特定系統(tǒng)公共事件,應(yīng)用退出后該選項將自動調(diào)整為“從不”。 返回值應(yīng)用菜單頁面,點(diǎn)擊“關(guān)于”可查看應(yīng)用版本信息及本示例的說明。 本案例已在OpenHarmony凌蒙派-RK3568開發(fā)板驗證通過
    發(fā)表于 09-18 13:16

    HarmonyOS應(yīng)用開發(fā)-公共事件處理

    開發(fā)過程中service想要控制多個ability時,可以考慮使用公共事件處理。發(fā)布無序的公共事件: //發(fā)布公共事件 同步修改卡片與頁面public void subscribeE
    發(fā)表于 11-02 15:15

    鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-Stage模型能力接口(五)

    說明 Common模塊將二級模塊API組織在一起方便開發(fā)者進(jìn)行導(dǎo)出。本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。本模塊
    發(fā)表于 12-15 15:11

    EventHub開源事件分析平臺

    EventHub.zip
    發(fā)表于 04-27 09:19 ?1次下載
    <b class='flag-5'>EventHub</b>開源事件分析平臺

    鴻蒙開發(fā)EventHub

    EventHub模塊提供了事件中心,提供訂閱、取消訂閱、觸發(fā)事件的能力。 NOTE 本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始
    的頭像 發(fā)表于 02-21 14:32 ?291次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>之<b class='flag-5'>EventHub</b>

    鴻蒙開發(fā)接口Ability框架:【@ohos.ability.wantConstant (wantConstant)】

    wantConstant模塊提供want中action和entity的權(quán)限列表的能力,包括系統(tǒng)公共事件宏,系統(tǒng)公共事件名稱等。
    的頭像 發(fā)表于 04-30 16:33 ?515次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b>Ability框架:【@ohos.ability.wantConstant (wantConstant)】

    鴻蒙開發(fā)接口公共事件與通知:【FFI能力(Node-API)】

    Node-API是封裝底層JavaScript運(yùn)行時能力的一套Native接口。OpenHarmony的N-API組件對Node-API的接口進(jìn)行了重新實(shí)現(xiàn),ArkUI-X同樣擁有這部分能力,目前支持部分接口,支持列表。
    的頭像 發(fā)表于 05-21 16:38 ?739次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>公共事</b>件與<b class='flag-5'>通知</b>:【FFI能力(Node-API)】

    基于ArkTS語言的OpenHarmony APP應(yīng)用開發(fā)公共事件的訂閱和發(fā)布

    1、程序介紹本示例主要展示了公共事件相關(guān)的功能,實(shí)現(xiàn)了一個檢測用戶部分行為的應(yīng)用。具體而言,本案例實(shí)現(xiàn)了如下幾個公共事件功能:通過訂閱系統(tǒng)公共事件,實(shí)現(xiàn)對用戶操作行為(亮滅屏、斷聯(lián)網(wǎng))的監(jiān)測;通過
    的頭像 發(fā)表于 09-19 08:05 ?90次閱讀
    基于ArkTS語言的OpenHarmony APP應(yīng)用<b class='flag-5'>開發(fā)</b>:<b class='flag-5'>公共事</b>件的訂閱和發(fā)布