Некоторое время назад я искал способ уникальной идентификации устройства, на котором запущено мое приложение.Я нашел следующий алгоритм:
final TelephonyManager tm = (TelephonyManager) baseContext.getSystemService(Context.TELEPHONY_SERVICE);
final String tmDevice = "" + tm.getDeviceId();
final String tmSerial = "" + tm.getSimSerialNumber();
final String androidId = "" + android.provider.Settings.Secure.getString(baseContext.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hashCode());
return deviceUuid.toString();
Может кто-нибудь объяснить мне, почему это иногда дает мне разные результаты на одном устройстве, и что я могу сделать, чтобы исправить это?