问题现象
在string.json文件中定义了多个字符串资源,如果项目中多处使用getContext().resourceManager.getStringByNameSync("")获取指定键名的字符串资源,那么在资源文件修改key值时,getContext().resourceManager.getStringByNameSync("")这里面的key不会同步修改。
背景知识
在HarmonyOS开发中,getContext().resourceManager.getStringByNameSync("") 方法用于同步获取资源管理器中的字符串资源。该方法接收一个字符串类型的参数,表示资源的名称,如果没有指定名称,方法将返回一个空字符串。
解决方案
通过getContext().resourceManager.getStringSync($r("app.string.EntryAbility_desc").id) 获取即可完成双向同步修改。