Android之Build类.(Android获取手机配置信息 )

it2023-08-22  66

一、类结构:

java.lang.Object   ↳android.os.Build

二、类概述:从系统属性中提取设备硬件和版本信息。

三、内部类:

1、Build.VERSION    各种版本字符串

2、Build.VERSION_CODES    目前已知的版本代码的枚举类

四、常量:UNKNOWN   当一个版本属性不知道时所设定的值。其字符串值为 "unknown" .

五、构造方法: Build ()

六、静态属性

1、BOARD   主板:The name of the underlying board, like "goldfish".

2、BOOTLOADER 系统启动程序版本号:The system bootloader version number.

3、BRAND  系统定制商:The consumer-visible brand with which the product/hardware will be associated, if any.

4、CPU_ABI  cpu指令集:The name of the instruction set (CPU type + ABI convention) of native code.

5、CPU_ABI2 cpu指令集2:The name of the second instruction set (CPU type + ABI convention) of native code.

6、DEVICE 设备参数:The name of the industrial design.

7、DISPLAY  显示屏参数:A build ID string meant for displaying to the user

8、FINGERPRINT   唯一识别码:A string that uniquely identifies this build. Do not attempt to parse this value.

9、HARDWARE   硬件名称:The name of the hardware (from the kernel command line or /proc).

10、HOST

11、ID  修订版本列表:Either a changelist number, or a label like "M4-rc20".

12、MANUFACTURER  硬件制造商:The manufacturer of the product/hardware.

13、MODEL  版本即最终用户可见的名称:The end-user-visible name for the end product.

14、PRODUCT 整个产品的名称:The name of the overall product.

15、RADIO  无线电固件版本:The radio firmware version number.   在API14后已过时。使用 getRadioVersion()代替。

16、SERIAL 硬件序列号:A hardware serial number, if available. Alphanumeric only, case-insensitive.

17、TAGS  描述build的标签,如未签名,debug等等。:Comma-separated tags describing the build, like "unsigned,debug".

18、TIME

19、TYPE build的类型:The type of build, like "user" or "eng".

20、USER

//BOARD 主板 String phoneInfo = "BOARD: " + android.os.Build.BOARD; phoneInfo += ", BOOTLOADER: " + android.os.Build.BOOTLOADER; //BRAND 运营商 phoneInfo += ", BRAND: " + android.os.Build.BRAND; phoneInfo += ", CPU_ABI: " + android.os.Build.CPU_ABI; phoneInfo += ", CPU_ABI2: " + android.os.Build.CPU_ABI2; //DEVICE 驱动 phoneInfo += ", DEVICE: " + android.os.Build.DEVICE; //DISPLAY 显示 phoneInfo += ", DISPLAY: " + android.os.Build.DISPLAY; //指纹 phoneInfo += ", FINGERPRINT: " + android.os.Build.FINGERPRINT; //HARDWARE 硬件 phoneInfo += ", HARDWARE: " + android.os.Build.HARDWARE; phoneInfo += ", HOST: " + android.os.Build.HOST; phoneInfo += ", ID: " + android.os.Build.ID; //MANUFACTURER 生产厂家 phoneInfo += ", MANUFACTURER: " + android.os.Build.MANUFACTURER; //MODEL 机型 phoneInfo += ", MODEL: " + android.os.Build.MODEL; phoneInfo += ", PRODUCT: " + android.os.Build.PRODUCT; phoneInfo += ", RADIO: " + android.os.Build.RADIO; phoneInfo += ", RADITAGSO: " + android.os.Build.TAGS; phoneInfo += ", TIME: " + android.os.Build.TIME; phoneInfo += ", TYPE: " + android.os.Build.TYPE; phoneInfo += ", USER: " + android.os.Build.USER; //VERSION.RELEASE 固件版本 phoneInfo += ", VERSION.RELEASE: " + android.os.Build.VERSION.RELEASE; phoneInfo += ", VERSION.CODENAME: " + android.os.Build.VERSION.CODENAME; //VERSION.INCREMENTAL 基带版本 phoneInfo += ", VERSION.INCREMENTAL: " + android.os.Build.VERSION.INCREMENTAL; //VERSION.SDK SDK版本 phoneInfo += ", VERSION.SDK: " + android.os.Build.VERSION.SDK; phoneInfo += ", VERSION.SDK_INT: " + android.os.Build.VERSION.SDK_INT

七、公共方法:

public static String getRadioVersion() 获取无线电固件版本

八、测试示例:

 

代码如下:

 

/**

* 获取指定字段信息

* @return

*/

private String getDeviceInfo(){

StringBuffer sb =new StringBuffer();

sb.append("主板:"+Build.BOARD);

sb.append("\n系统启动程序版本号:"+ Build.BOOTLOADER);

sb.append("\n系统定制商:"+Build.BRAND);

sb.append("\ncpu指令集:"+Build.CPU_ABI);

sb.append("\ncpu指令集2:"+Build.CPU_ABI2);

sb.append("\n设置参数:"+Build.DEVICE);

sb.append("\n显示屏参数:"+Build.DISPLAY);

sb.append("\n无线电固件版本:"+Build.getRadioVersion());

sb.append("\n硬件识别码:"+Build.FINGERPRINT);

sb.append("\n硬件名称:"+Build.HARDWARE);

sb.append("\nHOST:"+Build.HOST);

sb.append("\n修订版本列表:"+Build.ID);

sb.append("\n硬件制造商:"+Build.MANUFACTURER);

sb.append("\n版本:"+Build.MODEL);

sb.append("\n硬件序列号:"+Build.SERIAL);

sb.append("\n手机制造商:"+Build.PRODUCT);

sb.append("\n描述Build的标签:"+Build.TAGS);

sb.append("\nTIME:"+Build.TIME);

sb.append("\nbuilder类型:"+Build.TYPE);

sb.append("\nUSER:"+Build.USER);

return sb.toString();

}

/**

* 通过反射获取所有的字段信息

* @return

*/

public String getDeviceInfo2(){

StringBuilder sbBuilder = new StringBuilder();

Field[] fields = Build.class.getDeclaredFields();

for(Field field:fields){

field.setAccessible(true);

try {

sbBuilder.append("\n"+field.getName()+":"+field.get(null).toString());

} catch (IllegalArgumentException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

}

}

return sbBuilder.toString();

}

最新回复(0)