web-dev-qa-db-fra.com

Valeur de versionName de l'utilisateur d'AndroidManifest.xml dans le code

Le AndroidManifest.xml contient le nom de la version de l'application, quelque chose comme

Android:versionName="1.0"

Maintenant, la question - est-il possible d'accéder à ce nom de version dans le code source, de sorte que je puisse l'afficher par exemple dans un propos Dialog?

52
DonGru

Si vous utilisez ADT et Eclipse:

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

Si vous utilisez Gradle, il existe un moyen plus simple, car il place les données dans BuildConfig pour vous:

String version = BuildConfig.VERSION_NAME;
119
Konstantin Burov

La réponse de Konstantin (ci-dessus) est correcte, mais pour ce que ça vaut, j'ai trouvé une erreur de compilation si je n'attrapais pas un NameNotFoundException, comme suit:

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