在Android App开发过程中有时需要确定手机設备的唯一性但是Android 手机设备的唯一标识的获取并不能保持每次都能获取成功,因而无法保持手机的唯一性Android手机获取唯一标识一直没有統一标准,每个公司都有自己的一套规则首先说一下几种比较常用的作为手机设备唯一标识的:
-
范围:只能支持拥有通话功能的设备,對于平板不可以
持久性:返厂,数据擦除的时候不彻底保留了原来的标识。
bug: 有些厂家的实现有bug返回一些不可用的数据 -
范围:有支持無限上网的设备
持久性:有些设备没有WiFi,或者蓝牙就不可以,如果WiFi没有打开硬件也不会返回Mac地址,不建议使用 -
范围:所有Android系统设备
Bug:2.2(Froyo8)版本系统会不可信,来自主要生产厂商的主流手机至少有一个普遍发现的bug,这些有问题的手机相同的ANDROID_ID: e549c但是如果返厂的手机或者被root的手机,可能会变
验证在手机Wifi关闭情况下获取标识的情况:
- 常见手机设备唯一表示码选择上面的一种或几种但是部分手机的Mac码的获取會与Wifi状态有关,改动较大因此舍弃Mac码挑选出允许imei权限码、Android ID、Serial Number拼接成一个字符串,然后通过MD5加密生成一个唯一标识
通过MD5加密生成唯一标識:
关于Android 手机设备唯一标识符的生成就到这里,希望这篇博客能够为小伙伴们提供一些帮助
发布了69 篇原创文章 · 获赞 21 · 访问量 9万+