-
前言
国内各大手机厂商,搭着Android开源免费的快车,都想分一杯羹,不仅如此,还要自己定制系统,对开发狗来说,可是痛苦无比,经常碰到各种坑,所以还是打算记录下来,毕竟脑子不够用啊0.0
-
识别某种系统
以小米为例,小米开发者网站给出了识别方法
"http://dev.xiaomi.com/doc/?p=254"
- 如何检测小米设备:
请使用android.os.Build对象,查询MANUFACTURER和MODEL的值,MANUFACTURER值为Xiaomi即为小米设备
代码:
public static boolean orMIUI() {
String manufacturer = Build.MANUFACTURER;
if ("xiaomi".equalsIgnoreCase(manufacturer)) {
return true;
}
return false;
}```
同理其他系统也可以尝试,但并不绝对:
public static boolean orHTC() {
String manufacturer = Build.MANUFACTURER;
if ("htc".equalsIgnoreCase(manufacturer)) {
return true;
}
return false;
}```
- 如何检测MIUI V5:
查询property: ro.miui.ui.version.name ,值是”V5″ 就是MIUI V5系统;值是”V6″就是MIUI 6系统。
代码:
public static String getSystemProperty(String propName) {
String line;
BufferedReader input = null;
try {
Process p = Runtime.getRuntime().exec("getprop " + propName);
input = new BufferedReader(new InputStreamReader(p.getInputStream()), 1024);
line = input.readLine();
input.close();
} catch (IOException ex) {
return null;
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
}
}
}
return line;
}
public static boolean isMIUI(){
String property = PackageUtils.getSystemProperty("ro.miui.ui.version.name");
return !TextUtils.isEmpty(property);
}