文档章节

Android中如何获取应用版本号

今日竹石
 今日竹石
发布于 2014/03/11 12:26
字数 396
阅读 38
收藏 0

应用场景
1、在界面中显示应用程序的版本号;
2、用户启动该应用,后台判断该应用是否是最新版本。
上述情景都需要在程序中自动获取到应用的版本号。

思路简介
在Android中,应用程序的版本号是在AndroidManifest.xml文件中进行配置的,而PackageInfo类则封装了从该配置文件中获取的所有信息,描述了包内容的整体信息,因此,可以使用PackageInfo对象的versionName属性获取应用的版本号。
要怎么获取PackageInfo对象呢?可以通过PackageManager对象来获取。PackageManager是一个检索当前已安装在设备上的相关应用程序包的各种信息的类。PackageManager对象中的getPackageInfo方法可以获取PackageInfo对象,该方法需要传递两个参数:应用包名和条件。通常情况下,应用程序的包名可以通过Activity或Context(Activity继承自Context)的getPackageName()方法获取,而添加可以有很多设置,通常设置为0。
最后是PackageManager对象的获取,Context对象提供了getPackageManager()方法来获取该对象。

综上,模板代码如下:(注意,此处封装的方法位于某个Activity中,因此直接使用this来代替Context对象)

复制代码

 1 /** 2  * 获取版本号 3  * @return 当前应用的版本号 4  */ 5 public String getVersion() { 6     try { 7         PackageManager manager = this.getPackageManager(); 8         PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0); 9         String version = info.versionName;10         return this.getString(R.string.version_name) + version;11     } catch (Exception e) {12         e.printStackTrace();13         return this.getString(R.string.can_not_find_version_name);14     }15 }

复制代码

 


© 著作权归作者所有

共有 人打赏支持
今日竹石
粉丝 41
博文 227
码字总数 181312
作品 0
朝阳
程序员
私信 提问
Android中如何获取应用版本号(转)

应用场景: 1、在界面中显示应用程序的版本号; 2、用户启动该应用,后台判断该应用是否是最新版本。 上述情景都需要在程序中自动获取到应用的版本号。 思路简介: 在Android中,应用程序的版...

chuiyuan
2014/10/04
0
0
jean同学的android编译自动修改版本号

android应用程序的版本号Version name可以在android manifest下手动修改,在code中调用api获取该版本号。 项目中的目标是:每编译一次程序都会自动修改版本号,而不需要手动修改,由于中间d...

jeanwoo
2012/10/23
0
2
Android 检测网络连接状态

Android连接网络的时候,并不是每次都能连接到网络,因此在程序启动中需要对网络的状态进行判断,如果没有网络则提醒用户进行设置。 首先,要判断网络状态,需要有相应的权限,下面为权限代码...

长平狐
2013/01/06
157
0
AndroidManifest.xml文件详解(uses-sdk)

语法(SYNTAX): 被包含于(CONTAINED IN): 说明(DESCRIPTION): 这个元素用API 的级别(一个整数)来说明应用程序会跟哪些Android平台版本兼容。由应用程序给出的API级别会跟给定不同的...

长平狐
2012/10/16
100
0
Android 项目开发基础再回顾(一)

1,主activity_splash:

眉间雪
2018/07/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

开始看《ES6标准入门》

写得非常好,全是干货。还以为是很容易上手的,结果一看还是要有一些JS基础才行的 1.ES6简介。可以了解一下,特别是ES6和ES2015的关系 2.Let和Const命令。这个感觉是帮JS打补丁了。之前的Var...

max佩恩
27分钟前
1
0
SpringBoot入门系列HelloWorld

根据咱们程序员学习的惯例,学习一门新技术都是从HelloWorld开始的。 感觉编程是一件非常富有意义的事情,程序员也是一群可爱的人,渴望被关怀和关注,因为我们总在和世界say Hi. 好了进入正...

凌宇之蓝
今天
4
0
Linux之《荒岛余生》(二)CPU篇

温馨提示,动图已压缩,流量党放心查看。CPU方面内容不多,我们顺便学点命令。本篇是《荒岛余生》系列第二篇,垂直观测CPU。其余参见: Linux之《荒岛余生》(一)准备篇 如何做一个CPU cpu...

mskk
今天
1
0
Java基础教程,第十讲,继承

前面我们学习了类和对象的概念,学习了方法的重载,今天我们将学习面向对象另一个重要特性,继承(inheritance)。利用继承,我们可以基于一个已经存在的类狗仔一个新的类,继承已经存在的类...

程序员补给栈
今天
2
0
nginx的日志

nginx的日志包括错误日志和访问日志,分别使用不同的指令来定义其输出位置和相应的级别。 下面介绍其各自的用途。 错误日志 nginx提供了error_log指令来指定错误日志的输出文件和级别。 指令...

xtof
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部