ti-enxame.com

Valor versionName do usuário AndroidManifest.xml no código

O AndroidManifest.xml contém o nome da versão do aplicativo, algo como

Android:versionName="1.0"

Agora a pergunta - é de alguma forma possível acessar esse nome de versão no código-fonte, para que eu possa exibi-lo, por exemplo, em Sobre Dialog?

51
DonGru

Se você usa o ADT e o Eclipse:

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

Se você usa Gradle, existe uma maneira mais fácil, pois ela coloca os dados no BuildConfig para você:

String version = BuildConfig.VERSION_NAME;
119
Konstantin Burov

A resposta de Konstantin (acima) está correta, mas, pelo que vale, descobri que havia um erro de compilador se não capturasse um NameNotFoundException, da seguinte maneira:

import Android.content.pm.PackageManager.NameNotFoundException;
try {
    String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
} catch (NameNotFoundException e) {
    Log.e("tag", e.getMessage());
}
38
DMH