如何获得扩展的Android软件版本?

时间:2012-05-23 08:18:53

标签: android

例如HTC Evo 4G拥有Android版本2.3.5,其软件版本可以是4.67.651.3(适用于HTC Evo 4G)

我应该以编程方式获取此软件版本值?

2 个答案:

答案 0 :(得分:5)

试试这个:

    String productVersion = "";
    Process ifc = null;
    try {
        ifc = Runtime.getRuntime().exec("getprop ro.product.version");
        BufferedReader bis = new BufferedReader(new InputStreamReader(ifc.getInputStream()), 2048);
        productVersion = bis.readLine();

    } catch (IOException e) {
    } finally {
        if (ifc != null) {
            ifc.destroy();
        }
    }

这将为您提供所需的价值。这取决于设备。您可能还需要查看属性“ro.build.description”。

答案 1 :(得分:-1)

我的某个应用程序的片段,用于发送包含有关我需要的应用程序的所有数据的电子邮件。 Build.VERSION.SDK_INT是操作系统版本。我使用ApplicationInfo和PackManager从清单中获取一些自定义数据,我存储有关应用程序的非Android元数据。

ApplicationInfo ai = _context.getPackageManager().getApplicationInfo(_context.getPackageName(), PackageManager.GET_META_DATA);

PackageInfo manager= _context.getPackageManager().getPackageInfo(_context.getPackageName(), 0);
body.append("Application version " + manager.versionName + " - ");
body.append("Content version " + ai.metaData.get("ContentVersion")  + "\n");

body.append("OS Version:" + Build.VERSION.SDK_INT + "\n");
body.append(Build.MANUFACTURER + " - ");
body.append(Build.MODEL + " - ");
body.append(Build.PRODUCT + "\n"  + "\n" + "\n");