HarmonyOS 鸿蒙Next 是否有方法可以获取APP名字

发布于 1周前 作者 gougou168 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 是否有方法可以获取APP名字

现在获取APP信息的方法只能获取属性名,无法获取属性值,是否有方法直接获取APP名字

4 回复
试试通过资源管理的接口获取:
resourceManager.getStringSync($r('app.string.app_name').id) 

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-resource-manager-V5#getstringsync9-1

楼上说的对,应用名称直接通过$string可以拿到,如果想要获取安装包名可以使用下面的方法:

bundleManager.getBundleArchiveInfoSync('', bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT)

app名字不是通过$string 设置的 ,直接拿不就是吗

在HarmonyOS 鸿蒙Next系统中,确实有方法可以获取APP的名字。通常,应用名称存储在资源文件中,需要通过资源管理器(如resourceManager)来解析资源路径以获取实际名称。

具体来说,你可以尝试使用resourceManager.getStringSync()方法,并传入正确的资源ID来解析出实际的应用名称。例如,可以通过以下方式获取当前应用的名字:

getContext().resourceManager.getStringSync(
    bundleManager.getBundleInfoForSelfSync(
        bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION
    ).appInfo.labelResource
);

这段代码会获取当前应用的label资源,并通过资源管理器解析出应用名称。

此外,如果是HAP格式的应用,也可以通过解压HAP文件并解析其中的resources.arsc文件或strings.xml来获取应用名称。但这种方法相对复杂,需要深入了解HarmonyOS的文件结构和资源解析机制。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部