如何识别小米设备/MIUI系统或其他品牌手机

  • 前言

国内各大手机厂商,搭着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);  
  }

你可能感兴趣的:(如何识别小米设备/MIUI系统或其他品牌手机)