获取 Android 设备的唯一标识码

本文探讨了在Android中获取设备唯一标识的各种方法,包括DEVICE_ID、MAC地址、Serial Number、ANDROID_ID和IMSI,并指出了各自存在的问题和限制。例如,DEVICE_ID需要权限且在某些设备上可能无效,MAC地址可能因设备类型或Wi-Fi状态变化而不稳定,而ANDROID_ID在Android 2.2版本中存在可靠性问题。最后推荐使用手机卡的IMSI作为更可靠的设备标识。
摘要由CSDN通过智能技术生成

最近一直在搞注册的问题,想要获得android的一个唯一标识,但是各种方法都有弊病,先详细分析一下:

1. DEVICE_ID

假设我们确实需要用到真实设备的标识,可能就需要用到DEVICE_ID。在以前,我们的Android设备是手机,这个DEVICE_ID可以同通过TelephonyManager.getDeviceId()获取,它根据不同的手机设备返回IMEI,MEID或者ESN码,但它在使用的过程中会遇到很多问题:

  • 非手机设备: 如果只带有Wifi的设备或者音乐播放器没有通话的硬件功能的话就没有这个DEVICE_ID
  • 权限: 获取DEVICE_ID需要READ_PHONE_STATE权限,但如果我们只为了获取它,没有用到其他的通话功能,那这个权限有点大才小用
  • bug:在少数的一些手机设备上,该实现有漏洞,会返回垃圾,如:zeros或者asterisks的产品
  • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值