判断MIUI版本及版本号
识别是否是MIUI
根据MIUI开发者文档中的提示
请使用android.os.Build对象,查询MANUFACTURER和MODEL的值,MANUFACTURER值为[Xiaomi]即为小米设备,MODEL为设备名称,比如[Redmi 4X]表示红米4X。
其实读的属性是
[ro.product.manufacturer]: [Xiaomi]
[ro.product.model]: [Redmi 4X]
识别版本号
【判断MIUI版本及版本号】然后在adb shell 之后getprop可以得到一个属性『ro.miui.version.code_time』,这个属性是一个毫秒值,对应的是MIUI开发版的版本号,比如我的MIUI9开发版7.8.10对应的:
[ro.miui.ui.version.name]: [V9]
表示版本号为 MIUI9
[ro.miui.version.code_time]: [1502294400]
1502294400毫秒值转换为时间:2017/8/10,表示版本为7.8.10
实现代码
public static String checkMIUI() {
String versionCode = "";
String manufacturer = Build.MANUFACTURER;
String model = Build.MODEL;
LogUtils.i("Build.MANUFACTURER = " + manufacturer + " ,Build.MODEL = " + Build.MODEL);
if (!TextUtils.isEmpty(manufacturer) && manufacturer.equals("Xiaomi")) {
versionCode = getSystemProperty("ro.miui.version.code_time");
}
return versionCode;
}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) {
LogUtils.i("Unable to read sysprop " + propName, ex);
return null;
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
LogUtils.i("Exception while closing InputStream", e);
}
}
}
return line;
}
推荐阅读
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- C语言解方程的根和判断是否是闰年
- C语言的版本比较
- 对今年以来股市的看法及后期判断
- [源码解析]|[源码解析] NVIDIA HugeCTR,GPU版本参数服务器---(3)
- vue中的条件判断详解v-if|vue中的条件判断详解v-if v-else v-else-if v-show
- Java应该在哪里判断List是否为空
- JavaScript判断数组的方法总结与推荐
- K8S|K8S 生态周报| Istio 即将发布重大安全更新,多个版本受影响
- Caffe在Windows10下CPU版本的安装(cpu+anaconda3+vs2013+pycaffe)