鸿蒙OS实例:同步获取应用配置的【versionCode和versionName】

电子说

1.3w人已加入

描述

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 转换,可以跟同步方法一样的使用...只是要注意这个会阻塞。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分