AndroidManifest.xml之<manifest android:versionCode and

來源:互聯網
上載者:User

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;
}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.