HarmonyOS 鸿蒙Next 卡片的FormExtensionAbility和应用UIAbility之间通讯是靠什么呢?

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 卡片的FormExtensionAbility和应用UIAbility之间通讯是靠什么呢?

学了一些知识发现,大多是卡片和他进程的那个FormExtensionAbility之间的通讯,通过postCardAction()FormBindingData

但是FormExtensionAbilityUIAbility就完全没有通讯接口,总不能全靠持久化存储吧。难道说也是用postCardAction()和updateForm这套吗?

5 回复

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-ui-widget-event-call-V5

看着最上面描述:

cke_624.png

使用卡片和UIAbility之间,除了数据库,就是使用postCardAction刷新,updateForm是更新卡片的,不是卡片和UIAbility通信的

嗯,我也进行了卡片开发,数据传递主要还是靠localStarage,我想到了一个反向传递到UIAbility的办法,你看行不,比如我在卡片那边用双向绑定的@LocalStorageLink绑定一个属性,然后UIAbility那边也绑上,那我在卡片这边更改,UIAbility那边是不是也就变了能用了。

应该是不可以的

HarmonyOS鸿蒙Next中,卡片的FormExtensionAbility与应用UIAbility之间的通讯主要依赖于以下几种机制:

  1. Intent机制:FormExtensionAbility可以通过发送Intent来启动UIAbility,并携带必要的参数和数据。UIAbility在接收到Intent后,根据参数进行相应的处理和界面展示。
  2. Ability间通信:系统提供了Ability间的通信机制,如通过DataAbility或使用IRemoteObject进行跨进程通信。这使得FormExtensionAbility可以请求UIAbility执行特定操作或获取数据。
  3. 事件总线或消息队列:在某些复杂场景下,可以使用事件总线(如EventHub)或消息队列来实现能力的解耦和通信。FormExtensionAbility可以发布事件或消息,由UIAbility订阅或监听,并进行相应处理。

这些机制共同确保了FormExtensionAbility与应用UIAbility之间的高效、灵活的通讯。

鸿蒙Next高级实战学习地址https://www.itying.com/goods-1204.html

回到顶部