一、ANDROID_ID
1、ANDROID_ID是设备首次启动时由系统随机生成的一串64位的十六进制数字
2、获取方式
String ANDROID_ID = Settings.System.getString(getContentResolver(), Settings.System.ANDROID_ID);
3、ANDROID_ID缺点:
- 设备刷机wipe数据或恢复出厂设置时ANDROID_ID值会被重置。
- 现在网上已有修改设备ANDROID_ID值的APP应用。
- 某些厂商定制的系统可能会导致不同的设备产生相同的ANDROID_ID。
- 某些厂商定制的系统可能导致设备返回ANDROID_ID值为空。
- CDMA设备,ANDROID_ID和DeviceId返回的值相同
二、deviceId
1、deviceId又叫设备ID。可以用系统提供的TelephonyManager服务来获取,具有唯一性。其中又包括IMEI 和 MEID/ESN。一般情况我们获取手机的DeviceId也就是手机的IMEI码。
2、获取方式
private String getDeviceId() {
TelephonyManager tm = (TelephonyManager)getContext().getSystemService(Service.TELEPHONY_SERVICE);
return tm.getDeviceId();
}
三、oaid
1、Android10以后系统禁止了android_id的获取,为了得到设备唯一标示,国内的厂商联合发布了oaid。