鴻蒙OS 公共事件與通知的概述

2020-09-18 11:01 更新

HarmonyOS 通過 CES(Common Event Service,公共事件服務(wù))為應(yīng)用程序提供訂閱、發(fā)布、退訂公共事件的能力,通過 ANS(Advanced Notification Service,即高級通知服務(wù))系統(tǒng)服務(wù)來為應(yīng)用程序提供發(fā)布通知的能力。

  • 公共事件可分為系統(tǒng)公共事件和自定義公共事件。

  • 系統(tǒng)公共事件:系統(tǒng)將收集到的事件信息,根據(jù)系統(tǒng)策略發(fā)送給訂閱該事件的用戶程序。 例如:用戶可感知亮滅屏事件,系統(tǒng)關(guān)鍵服務(wù)發(fā)送的系統(tǒng)事件(例如:USB 插拔,網(wǎng)絡(luò)連接,系統(tǒng)升級等)。

  • 自定義公共事件:應(yīng)用自定義一些公共事件用來處理業(yè)務(wù)邏輯。

  • 通知提供應(yīng)用的即時消息或通信消息,用戶可以直接刪除或點擊通知觸發(fā)進一步的操作。

  • IntentAgent 封裝了一個指定行為的 Intent,可以通過 IntentAgent 啟動 Ability 和發(fā)送公共事件。

應(yīng)用如果需要接收公共事件,需要訂閱相應(yīng)的事件。

約束與限制

公共事件的約束與限制

  • 目前公共事件僅支持動態(tài)訂閱。部分系統(tǒng)事件需要具有指定的權(quán)限,具體的權(quán)限見API參考。
  • 目前公共事件訂閱不支持多用戶。
  • ThreadMode 表示線程模型,目前僅支持 HANDLER 模式,即在當前 UI 線程上執(zhí)行回調(diào)函數(shù)。
  • deviceId 用來指定訂閱本地公共事件還是遠端公共事件。deviceId 為 null、空字符串或本地設(shè)備 deviceId 時,表示訂閱本地公共事件,否則表示訂閱遠端公共事件。

通知的約束與限制

  • 通知目前支持六種樣式:普通文本、長文本、圖片、社交、多行文本和媒體樣式。創(chuàng)建通知時必須包含一種樣式。
  • 通知支持快捷回復(fù)。
  • 目前通知訂閱不支持多用戶。
  • 通知的訂閱目前僅支持系統(tǒng)應(yīng)用,不支持第三方應(yīng)用。

IntentAgent 的限制

使用 IntentAgent 啟動 Ability 時,Intent 必須指定 Ability 的包名和類名。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號