我正在尝试添加一个函数来检查我的服务器上的json文件以查找我自己以外的应用程序的versionCode,如果服务器上的json中的versionCode是>一个外部应用程序,然后执行更新操作。但是,我遇到了获取外部应用程序的versionCode的问题。 versionCode始终返回0而不是外部应用程序的实际版本。为什么它没有返回正确的版本?这是我的代码:
这应该是获取json字符串指定的app包的versionCode:
public static int getinstVersionCode(Context mContext) {
if (mContext != null) {
try {
return mContext.getPackageManager().getPackageInfo(Constants.PACKAGE_NAME, 0).versionCode;
} catch (PackageManager.NameNotFoundException ignored) {
}
}
return 0;
}
此活动部分包含json包名称值:
static final String APK_VERSION_CODE = "versionCode";
static final String PACKAGE_NAME = "package";
这是服务器上的json代码:
{
"versionCode":1,
"package":"com.example.app",
}
比较它们的方法:
int apkCode = obj.getInt(Constants.APK_VERSION_CODE);
int versionCode = AppUtils.getinstVersionCode(mContext);
if (apkCode > versionCode) {
do update action...
}