W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
HarmonyOS通過CES(Common Event Service,公共事件服務(wù))為應(yīng)用程序提供訂閱、發(fā)布、退訂公共事件的能力。
公共事件從系統(tǒng)角度可分為:系統(tǒng)公共事件和自定義公共事件。
系統(tǒng)公共事件:CES內(nèi)部定義的公共事件,只有系統(tǒng)應(yīng)用和系統(tǒng)服務(wù)才能發(fā)布,例如HAP安裝,更新,卸載等公共事件。目前支持的系統(tǒng)公共事件詳見系統(tǒng)公共事件定義。
自定義公共事件:應(yīng)用自定義一些公共事件用來實現(xiàn)跨進程的事件通信能力。
公共事件按發(fā)送方式可分為:無序公共事件、有序公共事件和粘性公共事件。
無序公共事件:CES轉(zhuǎn)發(fā)公共事件時,不考慮訂閱者是否接收到,且訂閱者接收到的順序與其訂閱順序無關(guān)。
有序公共事件:CES轉(zhuǎn)發(fā)公共事件時,根據(jù)訂閱者設(shè)置的優(yōu)先級等級,優(yōu)先將公共事件發(fā)送給優(yōu)先級較高的訂閱者,等待其成功接收該公共事件之后再將事件發(fā)送給優(yōu)先級較低的訂閱者。如果有多個訂閱者具有相同的優(yōu)先級,則他們將隨機接收到公共事件。
粘性公共事件:能夠讓訂閱者收到在訂閱前已經(jīng)發(fā)送的公共事件就是粘性公共事件。普通的公共事件只能在訂閱后發(fā)送才能收到,而粘性公共事件的特殊性就是可以先發(fā)送后訂閱。發(fā)送粘性事件必須是系統(tǒng)應(yīng)用或系統(tǒng)服務(wù),且需要申請ohos.permission.COMMONEVENT_STICKY權(quán)限,配置方式請參閱訪問控制授權(quán)申請指導(dǎo)。
每個應(yīng)用都可以按需訂閱公共事件,訂閱成功,當公共事件發(fā)布時,系統(tǒng)會將其發(fā)送給對應(yīng)的應(yīng)用。這些公共事件可能來自系統(tǒng)、其他應(yīng)用和應(yīng)用自身。
圖1 公共事件示意圖
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: