之前,自己写了获取相册图片的代码,在自己手机上测试没有问题,不过小米手机却出现问题。在网上搜索资料,发现小米手机与其他德 处理不同。所以今天写一下判断手机系统的内容。其实很简单。


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 判断手机为小米就讲完了。


就这么简单。




更多相关文章

  1. Android(安卓)安卓WebView套壳H5网页 手机返回键问题(过滤二级页
  2. android iphone手机分辨率尺寸比例整理
  3. Sensor.TYPE_ORIENTATION 方向传感器,转向晕了个头
  4. Android+opencv+tensorflow手机摄像头实时手写数字识别
  5. Android(安卓)Launcher 如何去掉主菜单,所有应用摆在桌面,类似小米
  6. Android(安卓)判断日期是否在一年以内的算法
  7. 获取 Andorid 手机WIFI连接的Mac地址和IP地址
  8. Android(安卓)判断SIM卡属于哪个移动运营商详解及实例
  9. 手机APP测试之兼容测试

随机推荐

  1. Android如何获取开机启动项列表
  2. Android 深入研究SQLite实例(二)
  3. Fragment的使用简介【Android】
  4. Android创建快捷方式(shortcut)
  5. Android操作系统11种传感器介绍
  6. android write file
  7. Android平台上的Gphone 图像演示
  8. 网页链接拉起Unity Android和iOS APP
  9. android用intent打开各种文件
  10. 【转】Android studio2.2.3 支持Java8