功能:获取版本号

思路:版本号位置在AndroidManifest.xml文件中,需要找到一个类可以获取该位置的信息

需要使用到getPackageInfo和 PackageManager 这两个类。

一、getPackageInfo介绍和用法

介绍:PackageInfo类封装了从配置文件(AndroidManifest.xml)中获取的所有信息,描述了包内容的整体信息。

Overall information about the contents of a package. This corresponds to all of the information collected from AndroidManifest.xml.

二、PackageManager介绍和用法

介绍:PackageManager是一个检索当前已安装在设备上的相关应用程序包的各种信息的类。

Class for retrieving various kinds of information related to the application packages that are currently installed on the device. You can find this class through Context.getPackageManager

使用方法:

1.PackageManager对象的获取,Context对象提供了getPackageManager()方法。

2.getPackageInfo方法获取PackageInfo对象,该方法需要传递两个参数:应用包名packageName 和条件flags

  • packageName :The full name (i.e. com.google.apps.contacts) of the desired package.

  • flags: Additional option flags. Use any combination of GET_ACTIVITIES, GET_GIDS, GET_CONFIGURATIONS, GET_INSTRUMENTATION, GET_PERMISSIONS, GET_PROVIDERS, GET_RECEIVERS, GET_SERVICES, GET_SIGNATURES, GET_UNINSTALLED_PACKAGES to modify the data returned.

代码书写流程:

  1. 使用Context.getPackageManager获取PackageManager对象

  2. 使用PackageManager对象的getPackageInfo方法获取PackageInfo对象

  3. 获取PackageInfo的属性versionCode 或者其他信息

    /*** 获取版本号* * @return 当前应用的版本名*/public int getVersion() {try {PackageManager manager = this.getPackageManager();PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);String version = info.versionName;//版本的名称 用于显示在welcome界面下角int versionCode = info.versionCode;//版本的code 用于比较升级return versionCode;} catch (Exception e) {e.printStackTrace();return 0;}}

参考文章:

http://www.cnblogs.com/yeahui/archive/2012/10/20/2732429.html

转载于:https://blog.51cto.com/fergusj/1691284

Android 获取应用程序版本号相关推荐

  1. Android 进程 缓存服务,Android获取应用程序大小和缓存的实例代码

    info package com.qin.appsize; import android.content.Intent; import android.graphics.drawable.Drawab ...

  2. android代码获取应用名称,Android获取应用程序名称(ApplicationName)

    MainActivity如下: package cn.testapplicationname; import android.os.Bundle; import android.widget.Text ...

  3. android获取程序名称,Android获取应用程序名称(ApplicationName)示例

    MainActivity如下: 代码如下: package cn.testapplicationname; import android.os.Bundle; import android.widge ...

  4. android获取手机和系统版本等信息的代码,Android获取手机的版本号等信息的代码...

    本文实例分享了Android获取手机系统版本等信息的方法,供大家参考,具体内容如下: 第一种代码: String phoneInfo = "Product: " + android ...

  5. 微信小程序获取小程序版本号与服务器不符,微信小程序版本号比较

    首先获取到当前版本号 : wx.getSystemInfo({ success (res) { console.log(res.model) //获取设备名:iPhone,Meizu...... co ...

  6. Android获取第三方程序的包名

    前言 有时我们需要在自己的程序调起第三方程序,这个时候我们就需要知道第三方程序的包名和入口界面的Activity. 下面我们介绍几种方式获取第三方程序的包名及程序入口Activity. 1.使用adb ...

  7. Android 获取手机系统版本号、获取手机型号、获取手机厂商、获取手机IMEI、获取手机CPU_ABI、获取手机唯一识别码

    1.先申请权限,关于如何申请权限请查看RxPermissions的使用(简单实用)_ErwinNakajima的博客-CSDN博客 2.手機唯一識別碼管理類. package com.phone.co ...

  8. Android 获取App的版本号与版本名称的2中方法

    1 使用BuildConfig Log.e("-------版本名",BuildConfig.VERSION_NAME);Log.e("-------版本号", ...

  9. android获取小程序音频时长,最新微信小程序获取音频时长与实时获取播放进度...

    #微信小程序获取音频时长与实时获取播放进度 在小程序官方文档中 audio 注意:1.6.0 版本开始,该组件不再维护.建议使用能力更强的 wx.createInnerAudioContext 接口 ...

最新文章

  1. python真的很厉害吗-python为什么这么牛?Python真有这么好的前景?
  2. kali安装步骤失败 选择并安装软件_Pycharm2019.3.3软件安装步骤
  3. debian部署mysql和tomcat_【超级详细】在Debian/kali/linux服务器下搭建Tomcat7+mysql+jdk8环境...
  4. Apache Cassandra和低延迟应用程序
  5. 光模块的正确安装方法和使用须知
  6. 低功耗远距离lora模块:SX1262与SX1278、SX1276射频无线收发器芯片对比分析以及选型指南
  7. mysql-之增删改查
  8. 快速切题 cf118A
  9. python创意实用案例-精心整理!9个 Python 实用案例分享
  10. php怎么抓取手机号码,PHP提取字符串中的手机号
  11. 录视频时帧数越高越好么?
  12. Springboot整合minio
  13. linux服务器系统时间和bios时间,Linux系统时间, 硬件BIOS时间的校准与同步
  14. 禁用Windows Defender Antivirus Service
  15. 【PTA|Python】浙大版《Python 程序设计》题目集:函数练习
  16. 隐私权斗士库克:出身平凡 从小喜欢伸张正义
  17. 下载网站 favicon 图标的 3 种方法
  18. 智能网联汽车信息安全实训平台-IVI(或T-BOX)的WiFi攻击实验
  19. 自有App小程序第三方微信授权登录的实现
  20. 讨论关于RabbitMQ可靠性相关问题?

热门文章

  1. Leet Code OJ 简单(二)
  2. 通知栏管理NotificationListenerService
  3. 修改 keystore密码
  4. Android 屏幕滑动事件
  5. 指定字符串按指定长度进行剪切
  6. Open×××的新钩子设计
  7. 基于jsp的网上商城_[源码和文档分享]基于S2SH框架的JSP和MySQL的网上商城系统
  8. js bool true false 真假比较
  9. Android 抽屉效果的导航菜单实现
  10. Java中的Set操作