一、识别MIUI miui提供的系统资料
如何检测小米设备:
请使用android.os.Build对象,查询MANUFACTURER和MODEL的值,MANUFACTURER值为Xiaomi即为小米设备
代码实现:
public static boolean isMiuiDevices(){
String devicesName = Build.MANUFACTURER;
if (devicesName.equals("Xiaomi"))
return true;
else
return false;
}如何检测MIUI V5:
查询property: ro.miui.ui.version.name ,值是”V5″ 就是MIUI V5系统;值是”V6″就是MIUI 6系统。
代码实现:
public static boolean isMiui() {
try {
Class<?> sysClass = Class.forName("android.os.SystemProperties");
Method getStringMethod = sysClass.getDeclaredMethod("get", String.class);
String version = (String) getStringMethod.invoke(sysClass, "ro.miui.ui.version.name");
if (!TextUtils.isEmpty(version)) {
if (version.length() < 2) return false;
try {
int num = Integer.valueOf(version.substring(1));
return num >= 6;
} catch (NumberFormatException e) {
return false;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}二、识别Flyme
代码实现:
public static boolean isFlyme() {
try {
Class<?> sysClass = Class.forName("android.os.SystemProperties");
Method getStringMethod = sysClass.getDeclaredMethod("get", String.class);
String version = (String) getStringMethod.invoke(sysClass, "ro.build.display.id");
if (!TextUtils.isEmpty(version)) {
if (version.toLowerCase().contains("flyme"))
return true;
//判断系统版本是否大于flyme4
//int num;
//if (version.toLowerCase().contains("os")) {
// num = Integer.valueOf(version.substring(9, 10));
//} else {
// num = Integer.valueOf(version.substring(6, 7));
//}
//return num >= 4;
}
} catch (Exception e) {
}
return false;
}