HarmonyOS 在hsp中使用getStringSync(),参数为resource.id时获取不到

在hsp中,使用getContext().resourceManager.getStringSync($r(‘app.string.test’, 11).id),获取资源,会报invalid resourceId的错误,但是在hap模块中可以获取到

工程中存在许多hsp使用其他hsp中资源的场景,而且测试发现hsp使用resourceId获取自身模块内的资源,也获取不到

目前hsp中获取资源,要使用getStringSync方法的话,参数只能用resource对象,但是这样会导致非常耗时

HarmonyOS
2024-12-27 17:31:50
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

在hsp中,获取hsp自身和appScope下的资源时,可以使用getStringSync时,使用resource.id作为参数,用法例如:

this.str = getContext().createModuleContext('library1').resourceManager.getStringSync($r('app.string.app_name', 11).id)

在hsp中,获取另一个hsp中的资源时,推荐使用getStringByNameSync,用法例如:

this.str = getContext().createModuleContext('library1').resourceManager.getStringByNameSync('xxx')
分享
微博
QQ
微信
回复
2024-12-27 19:43:34
相关问题
HarmonyOS router获取不到参数
248浏览 • 1回复 待解决
Hsp中使用图片 编译不通过
2073浏览 • 1回复 待解决
HarmonyOS 使用集成态 HSP ,编译失败
411浏览 • 1回复 待解决
HarmonyOS 如何使用c++获取父进程id
170浏览 • 1回复 待解决