如何获取我的应用程序版本

nil*_*ade 51 android

谁能告诉我如何在Android中获取applcation版本?

Mer*_*ham 136

这个页面提供了有关如何从java执行此操作的提示:

PackageManager manager = context.getPackageManager();
PackageInfo info = manager.getPackageInfo(
    context.getPackageName(), 0);
String version = info.versionName;
Run Code Online (Sandbox Code Playgroud)

此外,此链接还提供有关如何正确设置应用程序版本控制的官方信息.


Jim*_*loa 68

我正在使用Android Studio,我意识到我可以使用一行代码来实现这一点.

/*version name*/
BuildConfig.VERSION_NAME

/*version code*/
BuildConfig.VERSION_CODE
Run Code Online (Sandbox Code Playgroud)

编辑:

如果您使用的是其他Android库,请确保从应用程序包中导入BuildConfig.这与用于标识资源的自动生成的R类类似.


Mit*_*kum 13

public int getVersion(Context context) {
        try {
            PackageInfo pInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_META_DATA);
            return pInfo.versionCode;
        } catch (NameNotFoundException e) {
            return 0;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有关此链接的更多信息


Par*_*ani 12

要获取应用程序信息:

PackageManager manager = this.getPackageManager();
try {
   PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
   String packageName = info.packageName;
   int versionCode = info.versionCode;
   String versionName = info.versionName;
   } catch (NameNotFoundException e) {
   // TODO Auto-generated catch block
   }
Run Code Online (Sandbox Code Playgroud)


Mei*_*sam 5

我找到的最简单和最好的答案是只导入您的BuildConfig

import your.package.BuildConfig;
Run Code Online (Sandbox Code Playgroud)

然后就是

String verName = BuildConfig.VERSION_NAME;
int verCode = BuildConfig.VERSION_CODE;
Run Code Online (Sandbox Code Playgroud)