0

我想通知用户他可以升级应用程序版本。为此,我需要将已安装的应用程序版本代码与当前版本代码进行比较。

PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
version = pInfo.versionCode;
  • Q1。我进入哪个版本version,已安装或当前(新)?

  • Q2。如果version有电流比我如何安装?

  • Q3。如果version已经安装了,我怎么能得到最新的?
4

2 回答 2

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));
        }


    }
于 2013-08-30T06:46:31.337 回答
0

我可以建议你一种方法来做到这一点。

  • 您的清单文件中有一个版本代码。假设在您的第一个版本中,您将其设置为 1。
  • 在您启动代码时,将该值保存在 sharedPreference 中。
  • 不要在某些服务器中保留文本文件(也许您可以为此目的使用应用程序点)。在此文件中保留一个字段作为版本代码。
  • 每次您进行更新时,请像在清单文件中一样增加此文件中的版本代码

  • 每次应用启动时,您都可以从服务器读取文件,进行 json 解析并获取版本代码。

  • 然后将此值与您的 sharedFreference 版本代码进行比较。如果相同,则表示没有更新。如果新版本代码更高,则使用您的 google play 链接弹出一个对话框。还要更新您的 sharedPreference。

  • 您可以在应用程序启动时每 3 天检查一次版本代码值,而不是每次都检查一次,因为它需要很少的数据下载和一些处理。

我用这种方式,它对我有用..

如果需要进一步澄清,请告诉我。

于 2013-08-30T06:52:15.247 回答