4

由于 pre android 6.0 权限等问题,我需要知道我的应用程序是否在运行时在像 XIAOMI 这样的 MIUI 设备上运行。

有没有办法做到这一点?

4

1 回答 1

13

我在 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;
}

来源在 github

于 2017-08-21T08:25:25.927 回答