由于 pre android 6.0 权限等问题,我需要知道我的应用程序是否在运行时在像 XIAOMI 这样的 MIUI 设备上运行。
有没有办法做到这一点?
由于 pre android 6.0 权限等问题,我需要知道我的应用程序是否在运行时在像 XIAOMI 这样的 MIUI 设备上运行。
有没有办法做到这一点?
我在 github 上找到了一个要点,旨在通过尝试获取“ro.miui.ui.version.name”系统属性来做到这一点。
public static boolean isMiUi() {
return !TextUtils.isEmpty(getSystemProperty("ro.miui.ui.version.name"));
}
public static String getSystemProperty(String propName) {
String line;
BufferedReader input = null;
try {
java.lang.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) {
e.printStackTrace();
}
}
}
return line;
}