web-dev-qa-db-ja.com

実行時にアプリ自体のAndroid:versionCodeを検出する

アプリがAndroidManifest.xmlからAndroid:versionCodeを認識する方法はありますか、それともクラスの1つに別の定数を作成する必要がありますか?

39
Bryan Field

これをサブクラス化されたAndroid.app.Applicationに配置しましたが、コンテキストがあればどこでも使用できます。 getPackageManager()をcontext.getPackageManager()に変更するだけです。

public int getVersion() {
    int v = 0;
    try {
        v = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
    } catch (NameNotFoundException e) {
        // Huh? Really?
    }
    return v;
}
90
Jere.Jones

バージョンコードは、<package_name>.BuildConfig#VERSION_CODEリファレンスから簡単に入手できます。 ADTプラグイン/ Intellijによって生成されます。

1
Mahendran

はい、この情報には PackageManager.getPackageInfo からアクセスできます。

また、バージョン管理の詳細については、 documentation を参照してください。

1
uthark