HarmonyOS 卡片formId存储

在app卡片开发商上遇到了个困难

1、打开 app,回退到桌面(不是杀死),长按app图标添加服务卡片,

2、EntryFormAbility.onAddForm() 触发, 添加 formId 到 preference, ( 调用了 preference.flush() )

3、点击桌面 app 图标重新进入,读取 preference 获取不到刚存储的 formId

4、杀死 app,重新进入 app 读取 preference 可以获取刚存储的 formId

不太理解为什么第三步 获取不到 formId

HarmonyOS
2024-12-27 13:34:43
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

获取不到是因为涉及到跨进程;

可以使用preferences的removePreferencesFromCache接口来清理缓存,然后重新getPreferences,getPreferences会读取文件最新数据并生成新缓存,也就可以读到另一个进程写进去的值。

注意:请避免多进程并发读写的操作,可能会有非预期的结果,目前只保证单进程安全。

removePreferencesFromCache参考:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-data-preferences-V5#preferencesremovepreferencesfromcache

进程模型:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/process-model-fa-V5

分享
微博
QQ
微信
回复
2024-12-27 16:28:35
相关问题
HarmonyOS 卡片问题
372浏览 • 1回复 待解决
HarmonyOS 数据存储
608浏览 • 1回复 待解决
HarmonyOS 动态卡片和静态卡片的区别
332浏览 • 1回复 待解决
HarmonyOS app存储
221浏览 • 1回复 待解决
HarmonyOS 卡片开发咨询
750浏览 • 1回复 待解决
HarmonyOS 卡片添加问题
622浏览 • 1回复 待解决
HarmonyOS 键值存储选型
492浏览 • 0回复 待解决
卡片开发支持多少种尺寸的卡片
987浏览 • 2回复 待解决
ArkTS卡片对比JS卡片有什么优势?
730浏览 • 1回复 待解决
HarmonyOS 服务卡片问题
396浏览 • 1回复 待解决
HarmonyOS卡片问题咨询
832浏览 • 1回复 待解决
HarmonyOS 元服务卡片
312浏览 • 1回复 待解决
HarmonyOS 创建服务卡片?
621浏览 • 1回复 待解决
HarmonyOS 相册图片存储
192浏览 • 1回复 待解决
HarmonyOS 应用卡片如何管理
316浏览 • 1回复 待解决
HarmonyOS 卡片点击事件失效
396浏览 • 1回复 待解决
HarmonyOS 静态服务卡片空白
247浏览 • 1回复 待解决