android 判断手机为小米
16lz
2021-01-26
之前,自己写了获取相册图片的代码,在自己手机上测试没有问题,不过小米手机却出现问题。在网上搜索资料,发现小米手机与其他德 处理不同。所以今天写一下判断手机系统的内容。其实很简单。
public static final String SYS_EMUI = "sys_emui";public static final String SYS_MIUI = "sys_miui";public static final String SYS_FLYME = "sys_flyme";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 SYS;try {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){SYS = 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){SYS = SYS_EMUI;//华为}else if(getMeizuFlymeOSFlag().toLowerCase().contains("flyme")){SYS = SYS_FLYME;//魅族};} catch (IOException e){e.printStackTrace();return SYS;}return SYS;}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;}
主要是获取build.prop文件的内容,然后获取的信息与那个手机的系统信息想符合,就是哪种手机。判断的依据是prop.getProperty(),里面的参数每个手机都不一样,只要一个手机的返回值不为null,那么就可以判断手机类型。
android 判断手机为小米就讲完了。
就这么简单。
更多相关文章
- Android(安卓)安卓WebView套壳H5网页 手机返回键问题(过滤二级页
- android iphone手机分辨率尺寸比例整理
- Sensor.TYPE_ORIENTATION 方向传感器,转向晕了个头
- Android+opencv+tensorflow手机摄像头实时手写数字识别
- Android(安卓)Launcher 如何去掉主菜单,所有应用摆在桌面,类似小米
- Android(安卓)判断日期是否在一年以内的算法
- 获取 Andorid 手机WIFI连接的Mac地址和IP地址
- Android(安卓)判断SIM卡属于哪个移动运营商详解及实例
- 手机APP测试之兼容测试