您的位置:首页 > 产品设计 > UI/UE

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

2016-07-25 00:43 645 查看
一、类结构:
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();
}
android获取手机信息大全:http://blog.csdn.net/hytfly/article/details/8552483//////////////////////////////////////////////////android.os.Build的一些使用方法:http://blog.csdn.net/ioiol/article/details/45535601///////////////////////////////////////////下面这个人博客中讲了一些关于android系统源码的一些东西:http://blog.csdn.net/yangzhihuiguming


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: