Android 依据Build相关信息判断机型

Android 依据Build相关信息判断机型

本文主要通过Build的相关信息获取机型,目前机型判断的较少,后续继续维护更新

java 复制代码
public static String parseBuild() {
    StringBuilder sb = new StringBuilder();
    String deriveFingerprint = Build.FINGERPRINT;
    String manufacturer = Build.MANUFACTURER;
    if (!TextUtils.isEmpty(deriveFingerprint)
            && !TextUtils.equals(deriveFingerprint, Build.UNKNOWN)) {
        sb.append(deriveFingerprint.toLowerCase(Locale.US));
    }
    if (!TextUtils.isEmpty(manufacturer)
            && !TextUtils.equals(manufacturer, Build.UNKNOWN)) {
        sb.append(",");
        sb.append(manufacturer.toLowerCase(Locale.US));
    }
    return sb.toString();
}

public static String getRom(){
    String s = parseBuild();
    if (TextUtils.isEmpty(s)){
        return "";
    }
    if (s.contains("xiaomi"))  return "xiaomi";
    if (s.contains("samsung"))  return "samsung";
    if (s.contains("vivo"))  return "vivo";
    if (s.contains("oppo"))  return "oppo";
    if (s.contains("realme"))  return "realme";
    if (s.contains("meizu")) return "meizu";
    if (s.contains("huawei") || s.contains("honor") ) {
        if (s.contains("honor")) {
            return "honor";
        }
        return "huawei";
    }
    if (s.contains("oneplus")) return "oneplus";
    if (s.contains("lenovo")) return "lenovo";
    return "";
}
相关推荐
xiaoye-duck8 小时前
《C++ 项目:手写大模型接入 SDK》Gemini接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
nice_lcj52011 小时前
Java Lambda 表达式入门:怎么写、怎么用、常用方法有哪些
java·开发语言·后端·面试
码农小河6611 小时前
基于SSM+JSP+MySQL的在线医疗服务系统的设计与实现
java·开发语言·mysql
nice_lcj52016 小时前
ThreadLocal 入门:它是怎么隔离数据的、为什么会导致内存泄漏
java·开发语言·后端·面试·并发编程·内存泄漏·threadlocal
booboosui16 小时前
Android 上来电怎么判:7 个条件加 5 个中文词
android
MardaWang16 小时前
App 内嵌 H5 的信任边界设计(ArkWeb/HarmonyOS 实战)
android
紧跟先前的步伐16 小时前
Go AI Agent 实战 28|Agent 的预算、超时与停止条件
开发语言·人工智能·后端·ai·golang
石头慢慢说16 小时前
不写 XPath,让 AI 在真机上跑测试:Appium MCP 全流程实战
android
bksczm17 小时前
InnoDB 行格式详解:DYNAMIC / COMPACT / COMPRESSED / REDUNDANT
java·开发语言·数据库
春涧草茶17 小时前
慢就是快16-1协程
开发语言·前端·python