1.同步方式获取
首先需要导包:
import bundleManager from '@ohos.bundle.bundleManager'
工具类:
public static async getVersionName(): Promise<string> {
try {
let bundleInfo =
await bundleManager.getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION);
return bundleInfo.versionName;
} catch (error) {
LogUtils.e(JSON.stringify(error))
}
return "";
}
public static async getVersionCode(): Promise<string> {
try {
let bundleInfo =
await bundleManager.getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION);
return bundleInfo.versionCode.toString();
} catch (error) {
LogUtils.e(JSON.stringify(error))
}
return "";
}
public static async getAppVersion() {
return `v${await this.getVersionName()}.${await this.getVersionCode()}`
}
使用方法:
鸿蒙OS开发 | 更多内容↓点击 | HarmonyOS与OpenHarmony技术 |
---|---|---|
鸿蒙技术文档 | 开发知识更新库gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md 在这。 | 或+mau123789学习,是v喔 |
//获取版本号
this.version = await AppUtils.getAppVersion()
2.异步方式获取
bundleManager.getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION)
.then((bundleInfo) => {
let versionName: string = bundleInfo.versionName; //应用版本名
let versionNo: string = bundleInfo.versionCode.toString(); //应用版本号
this.version = "v" + versionName + "." + versionNo
}).catch((error) => {
console.error("获取版本号异常:" + error)
})
总结:
鸿蒙大部分提供的方法都是异步的,所以可以使用async、await 转换,可以跟同步方法一样的使用...只是要注意这个会阻塞
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。