HarmonyOS Next使用服务卡片
需求如下,其他系统端均实现了
- 用户长按app,选择添加服务卡片时,展示一张静态的预览图。
- 用户点击“添加到桌面”后,才获取动态的数据,根据数据渲染不同的页面
- 用户在app应用内,点击某个按钮,可以提示用户快捷添加小组件
问题如下:
1.应用内添加卡片到桌面菜单,目前HarmonyOS 有FormMenu API可以实现,但是这个是长按菜单才可以,没有点击按钮就拉起的。
- 可以在卡片里渲染一张静态的图片进行预览,但是没有卡片的生命周期是用户点击“添加到桌面”以后回调的。如果使用静态图片进行渲染,那用户添加完以后,无法回调获取动态的数据,进行动态的渲染。
onAddForm生命周期,是在用户长按app图标,点击“服务卡片”的时候,就会执行了。如果在这里获取数据,那用户就会看到静态图片和动态数据的切换了。
所以希望的实现是,用户在长按app图标,选择服务卡片时,渲染静态的图片,用户点击添加到桌面后,获取动态的数据进行渲染。
“onUpdateForm”中的“formProvider.updateForm”参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-app-form-formextensionability-V5\#onupdateform
参考这个卡片数据交互,通过formProvider.updateForm()方法异步更新卡片数据
https://blog.csdn.net/shudaoshanQAQ/article/details/137841469