如何获取和使用AppScope中配置的资源?

在AppScope中配置的应用图标和应用名,在其它模块(非entry模块)应该怎么获取和使用呢?

问题场景描述:在Appscope中配置:

"icon":"$media:app_icon", "label": "$string:app_name"


后,在非entery模块的其它模块中无法通过Image($r(‘app.media.app_icon’))来使用,应该怎么获取应用图标和应用名呢?补充:通过:

let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION; 
bundleManager.getBundleInfoForSelf(bundleFlags).then((bundleInfo) => { 
  console.log('getBundleInfoForSelf successfully. Data: %{public}s', JSON.stringify(bundleInfo)); 
  this.appIcon = bundleInfo.appInfo.icon; 
  this.appName = bundleInfo.appInfo.label; 
  this.appVersionInfo = bundleInfo.versionName; 
}).catch((err: BusinessError) => { 
  console.error('getBundleInfoForSelf failed. Cause: %{public}s', err.message); 
});

可以获取到this.appIcon = “$media:app_icon”,但不知该如何加载对应图片资源。

HarmonyOS
2024-11-11 09:50:08
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

可以通过以下方式获对应图片资源。

let bundleInfo: bundleManager.BundleInfo = 
  bundleManager.getBundleInfoForSelfSync(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION) 
this.appImg = getContext(this) 
  .resourceManager 
  .getDrawableDescriptor(bundleInfo.appInfo.iconResource) 
  .getPixelMap()
分享
微博
QQ
微信
回复
2024-11-11 16:58:43
相关问题
appscope里定义资源在Har里不能引用
205浏览 • 1回复 待解决
HarmonyOS如何获取资源绝对路径
543浏览 • 1回复 待解决
如何在har获取hap配置信息?
274浏览 • 1回复 待解决
如何动态根据资源获取资源id
8636浏览 • 1回复 已解决
如何获取HSP资源文件
2301浏览 • 1回复 待解决
如何获取资源文件全路径
1911浏览 • 1回复 待解决
鸿蒙图片资源在Java代码如何使用
8078浏览 • 1回复 待解决
鸿蒙如何获取资源文件种路径
16473浏览 • 3回复 待解决