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 "";
}
相关推荐
2601_962885728 小时前
如何用 Python 自动识别股票的支撑位与压力位?
开发语言·python
爱吃奥利奥_wen8 小时前
面向对象三板斧:封装、继承、多态,到底在“装“什么、“承“什么、“变“什么?
开发语言·经验分享·c#
我可能是个假开发8 小时前
FTP Unicode 文件名导致 `550` 的问题分析与解决方案
java·开发语言·spring
WL学习笔记10 小时前
日期类(C++)
开发语言·c++·日期类实现
Android系统攻城狮10 小时前
Linux Gstreamer深度解析之gst_audio_encoder_set_frame_max调用流程与实战(六十一)
android·linux·运维·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
谢亮_vipxieliang10 小时前
Go map与结构体的正确使用
开发语言·golang·哈希算法
H.莓飛11 小时前
【C++】命名空间、缺省参数、函数重载与引用
linux·开发语言·c++·visual studio
xxwl58511 小时前
数据结构知识点和代码实现总结(C语言实现)
c语言·开发语言·数据结构
传奇开心果编程13 小时前
【Compose Multiplatform 跨端开发学与练】第7课 平台适配与互操作
android·windows·学习·ui·ios·kotlin·composer
mmsx13 小时前
Android 地图数据链路:从 GDAL、KML 到多引擎适配
android·kotlin