Android硬件获取序列号sn适配Android9+

在Android 9及以上版本中,由于隐私和安全性的考虑,获取设备序列号(Serial Number)的方式发生了改变。在Android 9及以上版本中,android.os.Build.SERIAL可能会返回一个空字符串或者包含"unknown"等信息,而不再是设备的真实序列号。

为了适配Android 9以上的硬件,可以使用以下方法获取设备的序列号:

java 复制代码
public String getDeviceSN() {
    String serialNumber;
    
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        try {
            serialNumber = Build.getSerial();
        } catch (SecurityException e) {
            e.printStackTrace();
            serialNumber = "unknown";
        }
    } else {
        serialNumber = Build.SERIAL;
    }

    return dev_sn.equals("prod") ? serialNumber : dev_sn;
}

在Android 9及以上版本,可以使用Build.getSerial()方法来获取设备的序列号。请注意,这个方法可能会抛出SecurityException,因此需要进行异常处理。

相关推荐
2501_916007471 小时前
跨平台 App 安全,Flutter、RN、Unity、H5 混合应用加固
android·ios·小程序·https·uni-app·iphone·webview
hinewcc2 小时前
Linux电源管理 - wakelocks
android·linux
你怎么知道我是队长2 小时前
win11系统查看设备配置
android·java·javascript
DevangLic2 小时前
【确认是否安装了 C++ 工具】
android·java·c++
2501_916007472 小时前
不越狱如何查看iOS 应用的详细信息及其文件目录结构
android·macos·ios·小程序·uni-app·cocoa·iphone
龚礼鹏2 小时前
图像显示框架十——BufferQueue的工作流程(基于Android 15源码分析)
android
TheNextByte13 小时前
如何将音乐从Android手机传输到电脑 [4 种方法]
android·智能手机·电脑
一起养小猫3 小时前
Flutter for OpenHarmony 实战:贪吃蛇蛇的移动逻辑详解
android·flutter
灵感菇_3 小时前
全面解析 Retrofit 网络框架
android·kotlin·网络请求·retrofit
李慕婉学姐3 小时前
【开题答辩过程】以《基于uniapp的养宠互助服务程序设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
android·mysql·uni-app