我想通知用户他可以升级应用版本。为此我需要将已安装的app versionCode与当前的versionCode进行比较。
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
version = pInfo.versionCode;
Q1。我在version
,安装或当前(新)中获得哪个版本?
Q2。如果version
的最新版本比我的安装方式快?
version
而不是我当前的安装方式?答案 0 :(得分:0)
试试这可能会对您有所帮助
public void printDeviceConfig(Context context) {
try {
System.err.println("=============== HEAP INFO ===============================");
ActivityManager activityManager = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE);
MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
System.err.println("Over All Memory: " + (memoryInfo.availMem / 1024) + " KB");
System.err.println("low Memory: " + memoryInfo.lowMemory);
System.err.println("Threshold Memory: " + (memoryInfo.threshold / 1024) + " KB");
System.err.println("=============== OS INFO ===============================");
System.err.println("Device MODEL: " + android.os.Build.MODEL);
System.err.println("VERSION RELEASE: " + android.os.Build.VERSION.RELEASE);
System.err.println("VERSION SDK: " + android.os.Build.VERSION.SDK_INT);
System.err.println("=============== Device Information ===============================");
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
System.err.println("Device Resolution (WxH)= " + dm.widthPixels + " x " + dm.heightPixels);
System.err.println("Density DPI= " + dm.densityDpi);
} catch (Throwable e) {
e.printStackTrace();
StringWriter stackTrace = new StringWriter();
e.printStackTrace(new PrintWriter(stackTrace));
}
}
答案 1 :(得分:0)
我可以建议你这样做。
每当您提供更新时,请像在清单文件中一样增加此文件中的版本代码
每次在应用启动时,您都可以从服务器读取文件,执行json解析并获取版本代码。
然后将此值与您的sharedFreference版本代码进行比较。如果相同,那意味着没有更新。如果新版本代码较高,则弹出带有Google Play链接的对话框。还要更新您的sharedPreference。
您可以每隔3天检查版本代码值是否可以在应用启动时检查,而不是每次都检查它,因为它只需要很少的数据下载和处理。
我用这种方式对我有用..
如果需要进一步澄清,请告诉我。