例如 HTC Evo 4G 的 Android 版本为 2.3.5,其软件版本可以是 4.67.651.3(适用于 HTC Evo 4G)
我应该如何以编程方式获取此软件版本值?
例如 HTC Evo 4G 的 Android 版本为 2.3.5,其软件版本可以是 4.67.651.3(适用于 HTC Evo 4G)
我应该如何以编程方式获取此软件版本值?
尝试这个:
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”。
我的一个应用程序的一个片段,用于发送一封电子邮件,其中包含我需要的应用程序的所有数据。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");