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,因此需要进行异常处理。

相关推荐
seabirdssss5 分钟前
Appium 在小米平板上的安装受限与闪退排查
android·appium·电脑
喂_balabala11 分钟前
Kotlin-属性委托
android·开发语言·kotlin
空中海19 分钟前
第一章:Android 系统架构与核心原理
android·系统架构
lI-_-Il1 小时前
适配工具箱:手机里的全能数字瑞士军刀
android·音视频
彳亍走的猪1 小时前
Android 全局防抖/防重复点击
android·java·开发语言
程序员陆业聪1 小时前
Android图片加载框架深度对比:Coil 3.4.0 vs Glide 5.0,该选哪个?
android
seabirdssss1 小时前
Android 模拟器搭建
android·经验分享
CYRUS STUDIO1 小时前
Frida 源码编译全流程:自己动手编译 frida-server
android·安全·逆向
程序员陆业聪1 小时前
Android内存优化:当LeakCanary遇上协程,内存泄漏治理进入新阶段
android
黄林晴2 小时前
解放双手!Android 发布官方 6 大技能,一键搞定迁移、优化、适配
android