鸿蒙OS开发文档 鸿蒙OS 公共事件与通知的概述

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 13

HarmonyOS 通过 CES(Common Event Service,公共事件服务)为应用程序提供订阅、发布、退订公共事件的能力,通过 ANS(Advanced Notification Service,即高级通知服务)系统服务来为应用程序提供发布通知的能力。

  • 公共事件可分为系统公共事件和自定义公共事件。
  • 系统公共事件:系统将收集到的事件信息,根据系统策略发送给订阅该事件的用户程序。 例如:用户可感知亮灭屏事件,系统关键服务发送的系统事件(例如:USB 插拔,网络连接,系统升级等)。
  • 自定义公共事件:应用自定义一些公共事件用来处理业务逻辑。
  • 通知提供应用的即时消息或通信消息,用户可以直接删除或点击通知触发进一步的操作。
  • IntentAgent 封装了一个指定行为的 Intent,可以通过 IntentAgent 启动 Ability 和发送公共事件。

应用如果需要接收公共事件,需要订阅相应的事件。

约束与限制

公共事件的约束与限制

  • 目前公共事件仅支持动态订阅。部分系统事件需要具有指定的权限,具体的权限见API参考。
  • 目前公共事件订阅不支持多用户。
  • ThreadMode 表示线程模型,目前仅支持 HANDLER 模式,即在当前 UI 线程上执行回调函数。
  • deviceId 用来指定订阅本地公共事件还是远端公共事件。deviceId 为 null、空字符串或本地设备 deviceId 时,表示订阅本地公共事件,否则表示订阅远端公共事件。

通知的约束与限制

  • 通知目前支持六种样式:普通文本、长文本、图片、社交、多行文本和媒体样式。创建通知时必须包含一种样式。
  • 通知支持快捷回复。
  • 目前通知订阅不支持多用户。
  • 通知的订阅目前仅支持系统应用,不支持第三方应用。

IntentAgent 的限制

使用 IntentAgent 启动 Ability 时,Intent 必须指定 Ability 的包名和类名。