Android android_id, deviceId, oaid的区别

一、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。

猜你喜欢

转载自blog.csdn.net/weixin_42600398/article/details/110448835