2012-05-22 38 views

回答

2
PackageManager m = getPackageManager(); 
String app_ver = ""; 
try { 
    app_ver = m.getPackageInfo(this.getPackageName(), 0).versionName; 
} 
catch (NameNotFoundException e) { 
    // Exception won't be thrown as the current package name is 
    // safe to exist on the system. 
    throw new AssertionError(); 
} 
+0

哪一類「this」應該延伸?這是一個簡單的管理器,它應該返回應用程序的版本。 – dragda

+0

因此,我的課程現在擴展了ContextWrapper以便能夠獲得「getPackagemanager()」。 thx的提示。 – dragda

+3

這是如何工作的獨立庫,它沒有任何自己的上下文,但在其Android Manifest中有自己的版本代碼。 – bianca

1

如果你想在庫(而不是使用該庫的應用程序)的特定版本,使用:

BuildConfig.VERSION_NAME 
BuildConfig.VERSION_CODE 

只要確保你導入BuildConfig給您的圖書館(如字面上每android庫/ app在它的包路徑上有自己的BuildConfig)。 Android Studio的Gradle Build系統表明這始終是從版本0.7.0生成的(請參閱changelog)。這作爲一個生成的類持久化到託管應用程序/庫中。

+0

這應該是正確的答案。 – Sascha