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
5天前
浏览
收藏 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
微信
回复
5天前
相关问题
HarmonyOS router获取不到参数
60浏览 • 1回复 待解决
Hsp中使用图片 编译不通过
1813浏览 • 1回复 待解决