Значение versionName пользователя AndroidManifest.xml в коде

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

android:versionName="1.0"

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

2 ответа

Решение

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

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

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

String version = BuildConfig.VERSION_NAME;

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

import android.content.pm.PackageManager.NameNotFoundException;
try {
    String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
} catch (NameNotFoundException e) {
    Log.e("tag", e.getMessage());
}
Другие вопросы по тегам