应用场景:

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对象)

android 获取app大小 android 获取app版本_应用程序

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 }

android 获取app大小 android 获取app版本_应用程序