2010-09-03 28 views

Odpowiedz

116

Jeśli używasz ADT i Eclipse:

String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName; 

Jeśli używasz Gradle istnieje prostszy sposób, ponieważ umieszcza dane w BuildConfig dla Ciebie:

String version = BuildConfig.VERSION_NAME; 
+23

To zbyt wiele "getPackage" dla pojedynczej linii kodu ... O_O – Cephron

+4

Świetnie! Ale czy istnieje sposób na uzyskanie wartości z pliku xml (szczególnie, aby użyć go jako 'android: summary' węzła' Preference')? –

37

odpowiedź Konstantego (powyżej) jest poprawny, ale za to, co jest warte, stwierdziłem, że dostałem błąd kompilatora, jeśli nie złapałem NameNotFoundException, jak poniżej:

import android.content.pm.PackageManager.NameNotFoundException; 
try { 
    String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName; 
} catch (NameNotFoundException e) { 
    Log.e("tag", e.getMessage()); 
} 
Powiązane problemy