如何以编程方式获取Android的固件版本?
答
固件是Android设备上可用的操作软件,它有不同的制造商设计的不同版本。基本上它是软件的设备特定部分。例如,您的手机上可能安装了Android 4.2.2,但固件号码看起来完全不同,因为它涉及的不仅仅是操作系统的更多细节。固件编号由几个元素组成,所有这些对于手机的功能都至关重要:
PDA:Android操作系统和您的自定义设置。 电话:设备的实际标识符。 CSC(国家出口代码):语言和国家特定的参数。 引导加载程序:在启动时运行到所有单元进程的引导加载程序。
软件构建版本基本固件版本。
请参阅android.os.Build.VERSION
。 SDK或SDK中包含API版本。 android.os.Build.VERSION_CODES
包含相关的常量。
String deviceSoftwareVersion=telephonyManager.getDeviceSoftwareVersion();
请参阅本Build.VERSION
程序代码中使用它。
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD) {
// only for gingerbread and newer versions
}
这可以通过代码还检查
System.out.println("button press on device name = "+android.os.Build.MODEL +" brand = "+android.os.Build.BRAND +" OS version = "+android.os.Build.VERSION.RELEASE + " SDK version = " +android.os.Build.VERSION.SDK_INT);
UPDATE
尝试这一个 -
android.os.Build.FINGERPRINT
android.os.Build.BOARD
Build.HOST
Build.ID
开始=>
Build.SERIAL
请检查以下代码。
最后更新
String mString = "";
mString.concat("VERSION.RELEASE {" + Build.VERSION.RELEASE + "}");
mString.concat("\nVERSION.INCREMENTAL {" + Build.VERSION.INCREMENTAL + "}");
mString.concat("\nVERSION.SDK {" + Build.VERSION.SDK + "}");
mString.concat("\nBOARD {" + Build.BOARD + "}");
mString.concat("\nBRAND {" + Build.BRAND + "}");
mString.concat("\nDEVICE {" + Build.DEVICE + "}");
mString.concat("\nFINGERPRINT {" + Build.FINGERPRINT + "}");
mString.concat("\nHOST {" + Build.HOST + "}");
mString.concat("\nID {" + Build.ID + "}");
((TextView) findViewById(R.id.textView1)).setText(mString);
您还可以使用
Build.DISPLAY
一个版本ID字符串意味着向用户显示
API版本..与firmwar不一样e版本 –
我已更新我的回答 – Sampad
谢谢您尝试帮助。我很感激。不幸的是,你提到的参数都不是固件版本。正如我在原始文章中提到的,我们已经尝试了Build的几乎所有内容,包括您提到的那些。 – Hong