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_915909062 小时前
iOS 混淆实战,多工具组合完成 IPA 混淆与加固(源码 + 成品 + 运维一体化方案)
android·运维·ios·小程序·uni-app·iphone·webview
*才华有限公司*4 小时前
安卓前后端连接教程
android
氦客4 小时前
Android Compose中的附带效应
android·compose·effect·jetpack·composable·附带效应·side effect
雨白4 小时前
Kotlin 协程的灵魂:结构化并发详解
android·kotlin
我命由我123455 小时前
Android 开发问题:getLeft、getRight、getTop、getBottom 方法返回的值都为 0
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
Modu_MrLiu5 小时前
Android实战进阶 - 用户闲置超时自动退出登录功能详解
android·超时保护·实战进阶·长时间未操作超时保护·闲置超时
Jeled5 小时前
Android 网络层最佳实践:Retrofit + OkHttp 封装与实战
android·okhttp·kotlin·android studio·retrofit
信田君95275 小时前
瑞莎星瑞(Radxa Orion O6) 基于 Android OS 使用 NPU的图片模糊查找APP 开发
android·人工智能·深度学习·神经网络
tangweiguo030519876 小时前
Kotlin 实现 Android 网络状态检测工具类
android·网络·kotlin