android 获取手机唯一标识(遇到的问题及处理)

在安卓应用开发中,为了确保同一用户只能在一台设备上签到,项目需要获取手机的唯一标识。然而,随着用户对隐私权限的关注增加,获取READ_PHONE_STATE权限可能导致问题。旧的实现方式依赖于设备ID、订阅者ID和SIM序列号,但这些在不同设备和系统版本间并不一致。为了解决这个问题,找到了一种适用于大多数国产手机的解决方案,通过结合多种标识生成一个稳定的唯一标识。初级版本代码未给出,但提到了存在更高级的版本。在不断变化的安卓环境中,找到可靠且普适的唯一标识策略是一项挑战。
摘要由CSDN通过智能技术生成

我们项目中有一个需求,那就是获取同一用户进行签到时候只能使用一个设备,

在17年之前还可以正常使用,最近新增一个手机唯一标识权限打开管理,从而影响了最早之前的逻辑处理

在这里专门做一个记录,来警醒自己。

最早之前博客 http://blog.csdn.net/u014007519/article/details/52526580


其中有一个代码获取手机唯一标识 是需要获取手机设备信息权限的,但是有的用户可能不打开,有的用户会选择打开,因为当时在sharedpreferences 左右缓存,用起来也一直无事。最近过年做了一次强制升级,发现之前的问题暴露出来,那就是有权限和无权限获取的唯一标识是不同的。之前的代码

if (EasyPermissions.hasPermissions(context, Manifest.permission.READ_PHONE_STATE)) { 
// 已经有摄像头权限了,可以使用该权限完成app的相应的操作了 
Log.e(“执行请求”, “获取true”); 
TelephonyManager telephonyManager = (TelephonyManager) context 
.getSystemService(Context.TELEPHONY_SERVICE); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值