Android 10 已无法获取SN序列号

由于Android10及以上版本系统出于隐私保护原因,无法直接获取SN和IMEI,会导致SecurityException错误。为避免报错,代码通过检查SDK版本来屏蔽10以上设备的SN获取。若需在Android10上获取SN,应用需有系统签名并申请READ_PRIVILEGED_PHONE_STATE权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于Android 10 已无法正常获取SN / IMEI,会抛出SecurityException错误。

为了多设备多版本通用,以下代码屏蔽了10以上的设备,避免报错。 

public static String getSN() {
        String sn = "null";
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
//            Android 10不再支持获取SN,需要系统签名
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                sn = Build.getSerial();
            } else {
                sn = Build.SERIAL;
            }
        }
        return sn;
}

如果实在需要获取SN序列号,也不是不行。这个就需要应用有系统签名了,

并且需要申请READ_PRIVILEGED_PHONE_STATE权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值