Android中如何获取应用版本号

应用场景

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 }

时间: 2024-10-09 08:01:27

Android中如何获取应用版本号的相关文章

Android中StatFs获取系统/sdcard存储(剩余空间)大小

package com.orgcent.util; import java.io.File; import android.os.Environment; import android.os.StatFs; public class MemoryStatus { static final int ERROR = -1; /** * 外部存储是否可用 * @return */ static public boolean externalMemoryAvailable() { return andr

Android中WebView获取网页中标题 ,内容, 图片的方法

如题,在Android中WebView获取网页中标题 ,内容, 图片的方法 首先是获取标题,在new WebChromeClient(){}中重写onReceivedTitle()方法 @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); // loge.e("__页面标题__"+title); } 获取内容,是参考的这边的 http

Android逆向之旅---Android中如何获取在非Root设备中获取应用隐私数据

一.前言 今天在开发的过程中遇到一个问题,就是关于AndroidManifest.xml中的allowBackup属性,也算是自己之前对这个属性的不了解,加上IDE的自动生成代码,没太注意这个属性,但是没想到这个属性会直接导致隐私数据的丢失.下面就来看一下这个属性的影响到底有多大.他的作用是什么? 二.Android中的allowBackup属性 1.allowBackup安全风险描述Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开

android中Camera获取系统支持的情景模式

在我们调相机时, 经常有测试提出相机的模型情景模式不支持.下面我们来分析下怎样看android系统相机的情景模式.我们以MTK的实现为例. 在底层mediatek/proprietary/custom/mt8127/hal/sendepfeature/ov2680_raw/config.ftbl.ov2680_mipi_raw.h 这个文件定义的我们的相机支持哪些情景模式 #if 1     //  Scene Mode     FTABLE_CONFIG_AS_TYPE_OF_DEFAULT_

android 中如何获取IMEI号

1)在Telephony Framework内部,可以直接使用GSMPhone或GeminiPhone提供的接口. KK之前的版本: IMEI(International Mobile Equipment Identity)是国际移动设备身份码,在单卡工程中一个手机对应一个IMEI号,双卡工程中一张卡对应一个IMEI号. 下面是获得IMEI号的接口和demo code API: GSMPhone.java     中getDeviceId() GeminiPhone.java  中getDevi

ArcGis for Android中如何获取自定义图层中的图片并旋转

============问题描述============ RT,在GraphicsLayer自定义图层中,有一个图片,现在可以获取到手机的旋转角度,然后根据角度去旋转那个图片.现在只能remove掉GraphicsLayer后旋转图片重新添加到map中,这样的话会非常不连贯,达不到百度地图的旋转效果,请教大神们如何解决? ============解决方案1============ BitmapDrawable bd = new BitmapDrawable(context.getResource

android中webservce获取soapObject数据的解析问题

问题描述 最近在尝试做个开发,用到网络通讯这块.有几个问题: 1android客户端已经得到weibservice发挥的soapObject对象  但是怎么解析成我需要的数据类型? 通过网页得到的xml文件 <?xml version="1.0" encoding="utf-8" ?> - <user_info> <USER_NO>adminbb</USER_NO> <USER_NAME>admin<

iOS 中代码获取当前版本号

[1]概念 iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中target,点击“Summary”后看到. Version在plist文件中的key是“CFBundleShortVersionString”,和AppStore上的版本号保持一致,Build在plist中的key是“CFBundleVersion”,代表build的版本号,该值每次build之后都应该增加1.这两个值都可以在程序中通过下面的代码获得: [[[NSBundle mainBu

android中如何获取xml界面里的非自定义属性

获取自定义属性大家都很熟悉了,就不多说了(定义declare-styleable,context.obtainStyledAttributes巴拉巴拉...) 下面我们说一下怎么获取非自定义的属性,比如android:entries,android:gravity等等,上面的方式照着套是行不通了,因为你无法取得android.R.styleable里面的东西,下面是我试出来的几种方法: 1. 遍历AttributeSet,基本可以把所有xml里的属性取出来,但是有一点,取出来的值要能使用,需要经