0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-03-27 16:20 次阅读

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开发更多内容↓点击HarmonyOSOpenHarmony技术
鸿蒙技术文档开发知识更新库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 转换,可以跟同步方法一样的使用...只是要注意这个会阻塞。

审核编辑 黄宇

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

    关注

    0

    文章

    188

    浏览量

    4383
收藏 人收藏

    评论

    相关推荐

    鸿蒙os系统是什么意思 鸿蒙os系统有什么作用

    大家都很熟悉华为,那么华为近年新研发出来的鸿蒙os系统是什么意思?下面与大家分享华为鸿蒙os系统是什么意思的教程。鸿蒙
    发表于 12-17 11:34

    华为系统升级鸿蒙os

    华为系统升级鸿蒙os,相信大家都知道,自从华为推送了鸿蒙OS手机Bate版本系统以后,不少参与鸿蒙系统内测用户便纷纷反馈,在升级了
    发表于 07-28 07:56

    请问鸿蒙开发如何获取versionNameversionCode

    鸿蒙开发 如何获取versionNameversionCode
    发表于 04-26 10:27

    华为正式发布鸿蒙鸿蒙OS随时可用!

    华为在东莞发布了大家期待已久的华为鸿蒙OS系统。据余承东介绍,鸿蒙OS可以用在手表、手机、电视、PC等终端。鸿蒙
    的头像 发表于 08-09 17:48 3682次阅读

    华为鸿蒙OS又有吓人的设计 苹果的Carplay在鸿蒙OS面前真的自叹不如

    华为鸿蒙OS终于在外界的关注下发布,作为华为自主研发的操作系统,鸿蒙OS还是承载了太多人的期盼。华为鸿蒙
    的头像 发表于 08-27 10:25 8868次阅读

    鸿蒙os支持机型有哪些 鸿蒙os支持机型名单

    鸿蒙os支持OTA在线升级机型名单
    的头像 发表于 06-03 15:06 27.9w次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>os</b>支持机型有哪些 <b class='flag-5'>鸿蒙</b><b class='flag-5'>os</b>支持机型名单

    鸿蒙OS系统详解

    华为的鸿蒙OS是一款“面向未来”的操作系统,是基于微内核的全场景分布式OS,可按需扩展,实现更广泛的系统安全。目前主要用于智能物联网,今年将扩展到智能手机上鸿蒙
    的头像 发表于 11-12 11:24 1.4w次阅读

    华为发布鸿蒙OS Beta版

    昨天华为发布鸿蒙OS Beta版了?鸿蒙系统一直在按照既有步伐前进,现在华为发布鸿蒙OS Beta版,而且一些生态开发者已经用
    的头像 发表于 12-17 08:41 2874次阅读

    鸿蒙OS与Lite OS的区别是什么

    鸿蒙OS鸿蒙OS面向未来、面向全场景、分布式。在单设备系统能力基础上,鸿蒙OS提出了基于同一套系
    的头像 发表于 12-24 12:40 4994次阅读

    华为鸿蒙OS官方账号开通,鸿蒙OS 2.0将于六月份推送

    近日,华为开通了鸿蒙OS官方微博认证账号,预示着华为手机鸿蒙OS系统正式面向广大手机用户,后续的系统功能介绍、玩机技巧、更新内容等消息也将会在此账号进行
    的头像 发表于 05-06 16:20 5734次阅读

    鸿蒙OS 2.0系统怎么安装 鸿蒙系统安装教程

    鸿蒙OS2.0已经发布,很多人已经准备开始申请内测去体验全新的手机系统了,因为鸿蒙鸿蒙系统+EMUI的组成,彻底改变的了基于安卓的方式,那么鸿蒙
    的头像 发表于 06-05 11:42 2.7w次阅读

    鸿蒙os怎么升级

    6月2日,华为正式发布了鸿蒙armonyOS 2系统,那么鸿蒙os如何升级?现将鸿蒙os升级方式告知如下。
    的头像 发表于 06-08 16:26 2724次阅读

    鸿蒙os系统 支持哪些手机

    6月2日晚华为鸿蒙OS正式发布, 华为鸿蒙系统首批支持上百款机型升级,这件代表着鸿蒙OS推出拥有之初便与Android、iOS形成了三角鼎足
    的头像 发表于 06-15 10:57 1.8w次阅读

    鸿蒙OS和开源鸿蒙什么关系?

    内核,其他功能都以模块的形式存在。     华为用的是鸿蒙OS 我们都知道,华为手机的鸿蒙OS是可以运行安卓软件的,是因为系统中有安卓兼容层,所以可以简单这么理解:
    的头像 发表于 01-30 15:44 1133次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OS</b>和开源<b class='flag-5'>鸿蒙</b>什么关系?

    鸿蒙OS开发实例:【HarmonyHttpClient】网络框架

    鸿蒙上使用的Http网络框架,里面包含纯Java实现的HttpNet,类似okhttp使用,支持同步和异步两种请求方式;还有鸿蒙版retrofit,和Android版Retrofit相似的使用,解放双手般优雅使用注解、自动解析j
    的头像 发表于 04-12 16:58 827次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OS</b>开发<b class='flag-5'>实例</b>:【HarmonyHttpClient】网络框架