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

相关推荐
qizayaoshuap21 分钟前
鸿蒙 ArkTS 实战:搜索列表 城市实时过滤(示例 94)
android·华为·harmonyos
朝星34 分钟前
Framework筑基之Handler消息机制5(应用层)
android
2601_965798471 小时前
ForumLab Review: Fast PHP Script for SEO Forum Sites
android·adb·php
LUCKY-LIVING1 小时前
ELF File in linux
android·java·linux
xqqxqxxq1 小时前
SQL 字段约束笔记
android·笔记·sql
深念Y2 小时前
技术探索记录 在 Android 手机上运行 One API
android·linux·服务器·智能手机·go·交叉编译·服务
summerkissyou198711 小时前
Android - 摄像头 - hal - 开发教程,例子,常见问题,分析方法,解决方案
android
summerkissyou198712 小时前
Android 16 架构图
android
神龙天舞200113 小时前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql
码农coding16 小时前
android12 systemUI 之锁屏
android