web-dev-qa-db-ja.com

コード内のAndroidManifest.xmlのユーザーversionName値

AndroidManifest.xmlには、アプリケーションのバージョン名が含まれています。

Android:versionName="1.0"

さて、質問-ソースコードでこのバージョン名にアクセスして、たとえばAbout Dialogに表示できるようにすることは、どういうわけか可能ですか?

52
DonGru

ADTとEclipseを使用する場合:

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

Gradleを使用する場合、データをBuildConfigに格納するため、より簡単な方法があります。

String version = BuildConfig.VERSION_NAME;
119

コンスタンティンの答え(上記)は正しいですが、価値があるのは、次のようにNameNotFoundExceptionをキャッチしないとコンパイラエラーが発生することです。

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