HarmonyOS 用户首选项在拉起app访问不到,杀进程重新进入app后可访问到

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

应用首次调用getPreferences接口获取某个Preferences实例后,该实例会被会被缓存起来,后续再次getPreferences时不会再次从持久化文件中读取,直接从缓存中获取Preferences实例

export function initPreferenceTool(paramContext: common.Context){
  context = paramContext
  let observer = (key: string) => {
    console.info("The key " + key + " changed.");
    dataPreferences.removePreferencesFromCacheSync(context, options);
    preferences = null
  }
  if (preferences  === null) {
    preferences = dataPreferences.getPreferencesSync(context, options);
  }
  preferences.on('multiProcessChange', observer);
}

export function getValue(key: string): string{
  if (preferences === null) {
    preferences = dataPreferences.getPreferencesSync(context, options);
  }
  return preferences.getSync(key, '') as string
}
分享
微博
QQ
微信
回复
2024-12-27 16:21:27
相关问题
首选项preferences相关
1201浏览 • 1回复 待解决
HarmonyOS 用户首选项是线程安全的吗
1398浏览 • 1回复 待解决
HarmonyOS 首选项示例
1061浏览 • 1回复 待解决
HarmonyOS 创建首选项报错code:15500000
1233浏览 • 1回复 待解决
HarmonyOS 首选项报错数据报错
1166浏览 • 1回复 待解决
HarmonyOS 首选项回调失效
1104浏览 • 1回复 待解决
HarmonyOS TaskPool使用首选项报错
1693浏览 • 1回复 待解决
HarmonyOS 首选项超长string存储失败
1148浏览 • 1回复 待解决
HarmonyOS 获取首选项取值的方式
1335浏览 • 1回复 待解决
首选项存储问题,为什么会报错?
1473浏览 • 1回复 待解决
HarmonyOS 首选项无法读取Map类型的数据
1093浏览 • 1回复 待解决
HarmonyOS 如何强制杀进程
1131浏览 • 1回复 待解决