IMEI 国际移动设备身份码 目前GSM/WCDMA/LTE手机终端需要使用IMEI号码,在单卡工程中一个手机号对应一个IMEI号,双卡手机则会对应两个IMEI号,一张是手机卡对应一个。
需要权限 <uses-permission android:name="androidpermissionREAD_PHONE_STATE"/>
Mac 指的就是我们设备网卡的唯一设别码,该码全球唯一,一般称为物理地址,硬件地址用来定义设备的位置,硬件标识,刷机和恢复出厂设置不擦除,并且大多数android都有wifi模块
一般是指wifi模块或者蓝牙模块的mac地址。
缺点:
Android-Q以后 有新的Api获取mac地址,SDK未开放Api,暂不能测试
在设备首次运行的时候,系统会随机生成一64位的数字,并把这个数值以16进制保存下来,这个16进制的数字就是ANDROID_ID,但是如果手机恢复出厂设置这个值会发生改变,如果设备被root,这个值可以任意改变。
缺点
Android 80 以后
Android 80以前
Android 80以后
UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。
每次调用都会生成一个全新的标识符
因为每次调用都生成新的,通常使用UUID都会存储下来或者和其它字段拼接使用,CUID库就使用了 uuid来拼接device_id字段
Advertising ID(广告ID)是由Google Play服务提供的用户特定的,唯一的,可重置的广告ID,适用于广告用例。如果你应用程序想要使用广告ID,你的设备就必须安装Google Play Service
缺点:
Instance ID的作用域为创建它的应用, 这样可以防止他人利用该标识符跟踪用户在不同应用中的行为。 此外,此标识符还可以轻松地进行重置,因为用户可以清除应用数据或重新安装应用后重置。
缺点:
使用下面的函数:
public static String getDeviceId(Context context) {String id;
//androidtelephonyTelephonyManager
TelephonyManager mTelephony = (TelephonyManager) contextgetSystemService(ContextTELEPHONY_SERVICE);
if (mTelephonygetDeviceId() != null) {
id = mTelephonygetDeviceId();
} else {
//androidproviderSettings; --解决在android 70的情况下,有权限getDeviceId()返回null的情形
id = SettingsSecuregetString(contextgetApplicationContext()getContentResolver(), SettingsSecureANDROID_ID);
}
return id;
}
要注意的是记得要在你的AndroidManifestxml中,要求以下权限:
<!-- 用于读取手机当前的状态--><uses-permission android:name="androidpermissionREAD_PHONE_STATE" />
IMSI国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。IMSI组成如下图所示,其总长度不超过15位,同样使用0~9的数字。 其中MCC是移动用户所属国家代号,占3位数字,中国的MCC规定为460;MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网;MSIN是移动用户识别码,用以识别某一移动通信网中的移动用户。)
IMEI(国际移动设备识别码(IMEI:International Mobile Equipment Identification Number)是区别移动设备的标志,储存在移动设备中,可用于监控被窃或无效的移动设备。IMEI组成如下图所示,移动终端设备通过键入“#06#”即可查得。其总长为15位,每位数字仅使用0~9的数字。其中TAC代表型号装配码,由欧洲型号标准中心分配;FAC代表装配厂家号码;SNR为产品序号,用于区别同一个TAC和FAC中的每台移动设备;SP是备用编码。
ESN (Electronic Serial Numbers):电子序列号,在CDMA 系统中,是鉴别一个物理硬件设备唯一的标识。也就是说每个手机都用这个唯一的ID来鉴别自己, 就跟人的身份z一样。CDMA中的ESN对应于GSM网络中的IMEI。 一个ESN有32 bits, 也就是 32/4 = 8 bytes。随着CDMA移动设别的增多,ESN已经不够用了,所以推出了位数更多的MEID。ESN用16进制来表示。)
MEID(Mobile Equipment ID): 由于CDMA移动设备增多,导致原来8位的ESN不够用,所以56bits=(56/4=14bytes)的MEID横空出世。现在的CDMA手机一般ESN/MEID两者都有。MEID也是用16进制来表示。
以上就是关于Android 设备唯一标识全部的内容,包括:Android 设备唯一标识、如何获取Android唯一标识、手机上有什么可以作为唯一标识的东西等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)