Android获取操作系统名称
来源:互联网 发布:网络科学导论期末考试 编辑:程序博客网 时间:2024/05/22 03:15
区分小米MIUI,魅族FLYME,华为EMUI,其他OTHER
1、获取系统属性
public class BuildProperties { private static BuildProperties ourInstance; private Properties properties; public static BuildProperties getInstance() throws IOException { if (ourInstance == null) { ourInstance = new BuildProperties(); } return ourInstance; } private BuildProperties() throws IOException { properties = new Properties(); properties.load(new FileInputStream(new File(Environment.getRootDirectory(), "build.prop"))); } public boolean containsKey(final Object key) { return properties.containsKey(key); } public boolean containsValue(final Object value) { return properties.containsValue(value); } public String getProperty(final String name) { return properties.getProperty(name); } public String getProperty(final String name, final String defaultValue) { return properties.getProperty(name, defaultValue); } public Set<Map.Entry<Object, Object>> entrySet() { return properties.entrySet(); } public boolean isEmpty() { return properties.isEmpty(); } public Enumeration keys() { return properties.keys(); } public Set keySet() { return properties.keySet(); } public int size() { return properties.size(); } public Collection values() { return properties.values(); }}
2、获取系统标识
public class OSUtils { //MIUI标识 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"; //EMUI标识 private static final String KEY_EMUI_VERSION_CODE = "ro.build.version.emui"; private static final String KEY_EMUI_API_LEVEL = "ro.build.hw_emui_api_level"; private static final String KEY_EMUI_CONFIG_HW_SYS_VERSION = "ro.confg.hw_systemversion"; //Flyme标识 private static final String KEY_FLYME_ID_FALG_KEY = "ro.build.display.id"; private static final String KEY_FLYME_ID_FALG_VALUE_KEYWORD = "Flyme"; private static final String KEY_FLYME_ICON_FALG = "persist.sys.use.flyme.icon"; private static final String KEY_FLYME_SETUP_FALG = "ro.meizu.setupwizard.flyme"; private static final String KEY_FLYME_PUBLISH_FALG = "ro.flyme.published"; /** * @param * @return ROM_TYPE ROM类型的枚举 * @description获取ROM类型: MIUI_ROM, FLYME_ROM, EMUI_ROM, OTHER_ROM */ public static ROM_TYPE getRomType() { ROM_TYPE rom_type = ROM_TYPE.OTHER; try { BuildProperties buildProperties = BuildProperties.getInstance(); if (buildProperties.containsKey(KEY_EMUI_VERSION_CODE) || buildProperties.containsKey(KEY_EMUI_API_LEVEL) || buildProperties.containsKey(KEY_MIUI_INTERNAL_STORAGE)) { return ROM_TYPE.EMUI; } if (buildProperties.containsKey(KEY_MIUI_VERSION_CODE) || buildProperties.containsKey(KEY_MIUI_VERSION_NAME) || buildProperties.containsKey(KEY_MIUI_VERSION_NAME)) { return ROM_TYPE.MIUI; } if (buildProperties.containsKey(KEY_FLYME_ICON_FALG) || buildProperties.containsKey(KEY_FLYME_SETUP_FALG) || buildProperties.containsKey(KEY_FLYME_PUBLISH_FALG)) { return ROM_TYPE.FLYME; } if (buildProperties.containsKey(KEY_FLYME_ID_FALG_KEY)) { String romName = buildProperties.getProperty(KEY_FLYME_ID_FALG_KEY); if (!TextUtils.isEmpty(romName) && romName.contains(KEY_FLYME_ID_FALG_VALUE_KEYWORD)) { return ROM_TYPE.FLYME; } } } catch (IOException e) { e.printStackTrace(); } return rom_type; } public enum ROM_TYPE { MIUI, FLYME, EMUI, OTHER }}
3、调用
Log.d("Build_Value", OSUtils.getRomType().name());打印结果
09-27 09:28:35.068 5257-5257/com.hy.pushtest D/Build_Value: MIUI
阅读全文
0 0
- Android获取操作系统名称
- 获取操作系统名称
- 获取操作系统位数、名称、版本名称
- 获取操作系统名称和版本
- 获取浏览器端操作系统名称
- Java判断操作系统类型 ,获取操作系统名称
- 使用User-Agent获取操作系统名称
- java准确的获取操作系统的名称
- JS获取当前操作系统与浏览器名称
- VC获取操作系统版本和名称
- js获取浏览器信息--名称、版本、操作系统
- 获取windows操作系统名称和版本
- C++中获取操作系统的名称和版本名称
- 获取Android操作系统源代码
- Android获取应用程序名称(ApplicationName)
- Android获取网络类型名称
- android如何获取项目名称
- Android获取版本号,版本名称
- Spring注解开发 作用区别@Component、@Repository、@Service、@Controller
- Python 中文OCR
- Android连接库
- Keil5 IROM1 IRAM1 设置及错误JLink Warning: T-bit of XPSR is 0 but should be 1. Changed to 1.
- String,StringBuffer,StringBuilder的区别
- Android获取操作系统名称
- webstorm安装TFS及webpack快捷键
- Express 基于 Node.js 平台,快速、开放、极简的 web 开发框架。
- Spring连接数据库的几种常用方法
- tensorflow学习之常用函数总结:tensorflow.argmax()函数
- DCOS 介绍
- linux vim查找替换撤销
- 如果遇到Xshell键盘无法使用,你需要这样做!
- 文件系统的挂载过程