判断是否小米、华为、魅族系统

来源:互联网 发布:gp88s写频软件 编辑:程序博客网 时间:2024/04/27 14:43
public class SystemUtil {    public static final String SYS_EMUI = "sys_emui";    public static final String SYS_MIUI = "sys_miui";    public static final String SYS_FLYME = "sys_flyme";    public static final String SYS_OTHER = "sys_other";    private static final String KEY_MIUI_VERSION_CODE = "ro.miui.ui.version.code";    private static final String KEY_MIUI_VERSION_NAME = "ro.miui.ui.version.name";    private static final String KEY_MIUI_INTERNAL_STORAGE = "ro.miui.internal.storage";    private static final String KEY_EMUI_API_LEVEL = "ro.build.hw_emui_api_level";    private static final String KEY_EMUI_VERSION = "ro.build.version.emui";    private static final String KEY_EMUI_CONFIG_HW_SYS_VERSION = "ro.confg.hw_systemversion";    public static String getSystem(){        String sysType = SharedPreferencesUtil.getString(SysApplication.context,"sysType","");        if (TextUtils.isEmpty(sysType)) {            try {                sysType = SYS_OTHER;                Properties prop = new Properties();                prop.load(new FileInputStream(new File(Environment.getRootDirectory(), "build.prop")));                if (prop.getProperty(KEY_MIUI_VERSION_CODE, null) != null                        || prop.getProperty(KEY_MIUI_VERSION_NAME, null) != null                        || prop.getProperty(KEY_MIUI_INTERNAL_STORAGE, null) != null) {                    sysType = SYS_MIUI;//小米                } else if (prop.getProperty(KEY_EMUI_API_LEVEL, null) != null                        || prop.getProperty(KEY_EMUI_VERSION, null) != null                        || prop.getProperty(KEY_EMUI_CONFIG_HW_SYS_VERSION, null) != null) {                    sysType = SYS_EMUI;//华为                } else if (getMeizuFlymeOSFlag().toLowerCase().contains("flyme")) {                    sysType = SYS_FLYME;//魅族                }                SharedPreferencesUtil.putString(SysApplication.context,"sysType",sysType);            } catch (IOException e) {                e.printStackTrace();                return sysType;            }        }        return sysType;    }    public static String getMeizuFlymeOSFlag() {        return getSystemProperty("ro.build.display.id", "");    }    private static String getSystemProperty(String key, String defaultValue) {        try {            Class<?> clz = Class.forName("android.os.SystemProperties");            Method get = clz.getMethod("get", String.class, String.class);            return (String)get.invoke(clz, key, defaultValue);        } catch (Exception e) {        }        return defaultValue;    }}
阅读全文
0 0
原创粉丝点击