(1)DEVICE_ID
Android系统为开发者提供的用于标识手机设备的串号
TelephoneManager tm=TelephoneManager.getSystemService(Context.TELEPHONE_SERVICE);
tm.getDeviceId();
缺陷:
(1)非手机设备
(2)权限问题
(2)ANDROID_ID
在设备首次启动时,系统会随机生成一个64位的数字,并把这个数字以16进制字符串的形式保存下来,这个16进制的字符串就是ANDROID_ID
String ANDROID_ID=Setting.System.getString(getContentResolver(),Setting.System.ANDROID_ID);
缺陷:
(1)厂商Bug:不同的设备可能会产生相同的ANDROID_ID
(2)厂商Bug:有些设备返回的值为null
(3)Serial Number
Android系统2.3版本以上可以通过下面的方法得到Serial Number,且非手机设备也可以通过该接口获取。
String serial=Andorid.os.Build.SERIAL;
网友评论
正确写法应该是:
TelephonyManager tm=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
tm.getDeviceId();