不得不说一下,最初只是想显示app的数字角标,没想到不同手机厂家的角标显示方法还不一样?那么,问题来了,我要怎么知道这个设备由哪个厂家生产的呢?找来找去,发现了这个类,没错就是Build类,这个类里面有设备的绝大部分信息,下面就讲讲这个类里面有些什么?
Build类属于android.os包下,主要用于记录设备硬件和版本信息。
Build的内部类:VERSION_CODES,记录Android系统版本号常量。
通过Build获取设备硬件信息:
public static final String BOARD = null; //主板
public static final String BOOTLOADER = null; //系统启动程序版本号
public static final String BRAND = null; //系统定制商
public static final String CPU_ABI = null; //cpu指令集
public static final String CPU_ABI2 = null; //cpu指令集2
public static final String DEVICE = null; //设备参数
public static final String DISPLAY = null; //显示屏参数
public static final String FINGERPRINT = null; //唯一识别码
public static final String HARDWARE = null; //硬件名称
public static final String HOST = null;
public static final String ID = null; //修订版本列表
public static final String MANUFACTURER = null; //硬件制造商
public static final String MODEL = null; //手机型号,比如xiaomi5,vivox21
public static final String PRODUCT = null; //手机制造商,比如Huawei
public static final String RADIO = null; //无线电固件版本
public static final String SERIAL = null; 硬件序列号
public static final String[] SUPPORTED_32_BIT_ABIS = null; //32位cpu指令集
public static final String[] SUPPORTED_64_BIT_ABIS = null; //64位cpu指令集
public static final String[] SUPPORTED_ABIS = null;
public static final String TAGS = null; //描述Build的标签
public static final long TIME = 0L;
public static final String TYPE = null; //build的类型
public static final String UNKNOWN = "unknown";
public static final String USER = null;
个人用到的就是:
Build.BRAND 和 Build.MANUFACTURER 可得到设备的制造商。
在这里附上一份对应表,但是还缺少了部分信息:
// ⼩⽶
public static final String PHONE_XIAOMI = "xiaomi";
// 华为
public static final String PHONE_HUAWEI1 = "Huawei";
// 华为
public static final String PHONE_HUAWEI2 = "HUAWEI";
// 华为
public static final String PHONE_HUAWEI3 = "HONOR";
// 魅族
public static final String PHONE_MEIZU = "Meizu";
// 索尼
public static final String PHONE_SONY = "sony";
// 三星
public static final String PHONE_SAMSUNG = "samsung";
// LG
public static final String PHONE_LG = "lg";
// HTC
public static final String PHONE_HTC = "htc";
// NOVA
public static final String PHONE_NOVA = "nova";
// OPPO
public static final String PHONE_OPPO = "OPPO";
// 乐视
public static final String PHONE_LeMobile = "LeMobile";
// 联想
public static final String PHONE_LENOVO = "lenovo";