当前位置:编程学习 > XML/UML >>

AndroidManifest.xml之<manifest android:versionCode android:versionName> element详解

android:versionCode和android:versionName两个字段分别表示版本代码,版本名称。versionCode是整型数字,versionName是字符串。versionName是给用户看的,不太容易比较大小,升级检查时,可以以检查versionCode为主,方便比较出版本的前后大小。

在应用中如何读取AndroidManifest.xml中的versionCode和versionName呢?可以使用PackageManager的API,参考以下代码:

 

[html] 
public static int getVerCode(Context context) { 
        int verCode = -1; 
        try { 
            verCode = context.getPackageManager().getPackageInfo( 
                    "com.myapp", 0).versionCode; 
        } catch (NameNotFoundException e) { 
            Log.e(TAG, e.getMessage()); 
        } 
        return verCode; 
    } 
    
    public static String getVerName(Context context) { 
        String verName = ""; 
        try { 
            verName = context.getPackageManager().getPackageInfo( 
                    "com.myapp", 0).versionName; 
        } catch (NameNotFoundException e) { 
            Log.e(TAG, e.getMessage()); 
        } 
        return verName;    

public static int getVerCode(Context context) {
        int verCode = -1;
        try {
            verCode = context.getPackageManager().getPackageInfo(
                    "com.myapp", 0).versionCode;
        } catch (NameNotFoundException e) {
            Log.e(TAG, e.getMessage());
        }
        return verCode;
    }
  
    public static String getVerName(Context context) {
        String verName = "";
        try {
            verName = context.getPackageManager().getPackageInfo(
                    "com.myapp", 0).versionName;
        } catch (NameNotFoundException e) {
            Log.e(TAG, e.getMessage());
        }
        return verName;  
}

 

或者在AndroidManifest中将android:versionName="1.2.0"写成android:versionName="@string/app_versionName",然后在values/strings.xml中添加对应字符串,这样实现之后,就可以使用如下代码获得版本名称:

[html] 
public static String getVerName(Context context) { 
        String verName = context.getResources() 
        .getText(R.string.app_versionName).toString(); 
        return verName; 

public static String getVerName(Context context) {
        String verName = context.getResources()
        .getText(R.string.app_versionName).toString();
        return verName;
}
同理,apk的应用名称可以这样获得:


[html] 
public static String getAppName(Context context) { 
        String verName = context.getResources() 
        .getText(R.string.app_name).toString(); 
        return verName; 

public static String getAppName(Context context) {
        String verName = context.getResources()
        .getText(R.string.app_name).toString();
        return verName;
}

 

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,