例如HTC Evo 4G拥有Android版本2.3.5,其软件版本可以是4.67.651.3(适用于HTC Evo 4G)
我应该以编程方式获取此软件版本值?
答案 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");