下面我们看一下在Android中如何获取应用的版本名称和版本号,首先我们看一下这些信息是在哪里定义的。
其中versuibCode代表版本号,versionName代表版本名。
/**
* 获取版本号
* @return
*/
public int getVersionCode(){
PackageManager manager = getPackageManager();//获取包管理器
try {
//通过当前的包名获取包的信息
PackageInfo info = manager.getPackageInfo(getPackageName(),0);//获取包对象信息
return info.versionCode;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return 0;
}
/**
* 获取坂本明
* @return
*/
public String getVersionName(){
PackageManager manager = getPackageManager();
try {
//第二个参数代表额外的信息,例如获取当前应用中的所有的Activity
PackageInfo packageInfo = manager.getPackageInfo(getPackageName(), PackageManager.GET_ACTIVITIES
);
ActivityInfo[] activities = packageInfo.activities;
showActivities(activities);
return packageInfo.versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return "";
}
public void showActivities(ActivityInfo[] activities){
for(ActivityInfo activity : activities) {
Log.i("activity=========", activity.name);
}
}