Значение 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());
}