HarmonyOS 鸿蒙Next bundleManager获取的应用名如何在text中显示

发布于 1周前 作者 htzhanglong 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next bundleManager获取的应用名如何在text中显示

bundleManager.getBundleInfoForSelf(bundleFlags).then((data) => {
console.log(JSON.stringify(data));
this.appName = data.appInfo.label;
console.log(“this.appName:” + this.appName);
this.appVersion = “版本 " + data.versionName;
}) 

 获取的label是”$string:app_name_metro" 这个如何在text中显示

2 回复
可以直接通过资源管理获取应用名
console.info("testTag, app name is " + getContext().resourceManager.getStringSync($r('app.string.app_name')))<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

在HarmonyOS鸿蒙Next中,若要通过bundleManager获取应用名并在Text组件中显示,你可以按照以下步骤操作:

  1. 获取应用名

    • 使用bundleManager.getBundleInfoForSelfSync()方法获取当前应用的BundleInfo。
    • 从BundleInfo中提取应用名,这通常是通过解析labelID并使用ResourceManager.getStringSync()方法来实现的。
  2. 在Text组件中显示

    • 在你的UI布局文件中添加一个Text组件。
    • 在你的Ability或Page的代码中,通过findComponentById方法获取Text组件的引用。
    • 使用setText方法将获取到的应用名设置为Text组件的文本内容。

示例代码如下:

let bundleInfo = bundleManager.getBundleInfoForSelfSync(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION);
let appName = context.resourceManager.getStringSync(bundleInfo.appInfo.labelId);
let textComponent = this.$element('textId'); // 替换'textId'为你的Text组件ID
textComponent.setText(appName);

请确保你的项目中已经正确配置了相关的权限和依赖。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部