发布网友 发布时间:2022-04-22 05:53
共2个回答
热心网友 时间:2023-09-18 14:58
所有的设备都可以返回一个 TelephonyManager.getDeviceId()
所有的GSM设备 (测试设备都装载有SIM卡) 可以返回一个 TelephonyManager.getSimSerialNumber()
所有添加有谷歌账户的设备可以返回一个 ANDROID_ID
所有的CDMA设备对于 ANDROID_ID 和 TelephonyManager.getDeviceId() 返回相同的值(只要在设置时添加了谷歌账户)
所以如果你想得到设备的唯一序号, TelephonyManager.getDeviceId() 。
代码如下:
final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
final String tmDevice, tmSerial, tmPhone, androidId;
tmDevice = "" + tm.getDeviceId();
tmSerial = "" + tm.getSimSerialNumber();
androidId = "" + android.provider.Settings.Secure.getString(getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hashCode());
String uniqueId = deviceUuid.toString();
最后的deviceID可能是这样的结果: 00000000-54b3-e7c7-0000-000046bffd97
热心网友 时间:2023-09-18 14:59
import android.telephony.TelephonyManager; //引入相关包
TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);
tm.getDeviceId();//得到设备唯一ID,(GSM手机的 IMEI 和 CDMA手机的 MEID)