Значение versionName пользователя AndroidManifest.xml в коде - PullRequest
51 голосов
/ 03 сентября 2010

AndroidManifest.xml содержит название версии приложения, что-то вроде

android:versionName="1.0"

Теперь вопрос - возможно ли как-то получить доступ к этому имени версии в исходном коде, чтобы я мог отобразить егонапример в О Dialog?

Ответы [ 2 ]

119 голосов
/ 03 сентября 2010

Если вы используете ADT и Eclipse:

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

Если вы используете Gradle, есть более простой способ, поскольку он помещает данные в BuildConfig для вас:

String version = BuildConfig.VERSION_NAME;
38 голосов
/ 23 сентября 2011

Ответ Константина (выше) верен, но за что я обнаружил, что я получил ошибку компилятора, если я не поймал NameNotFoundException, как показано ниже:

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