User versionName значение AndroidManifest.xml в коде

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

android:versionName="1.0"

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

Ответы

Ответ 1

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

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

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

String version = BuildConfig.VERSION_NAME;

Ответ 2

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

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