hyphenate_SDK3.0
3.0.1
hyphenatejavaIMSDK
|
Public 成员函数 | |
DeviceUuidFactory (Context context) | |
UUID | getDeviceUuid () |
静态 Protected 属性 | |
static final String | PREFS_FILE = "device_id.xml" |
static final String | PREFS_DEVICE_ID = "device_id" |
static UUID | uuid |
Tries to get the device ID as a UUID and fallsback to a generated UUID value if it doesn't work.
UUID com.hyphenate.util.DeviceUuidFactory.getDeviceUuid | ( | ) |
Returns a unique UUID for the current android device. As with all UUIDs, this unique ID is "very highly likely" to be unique across all Android devices. Much more so than ANDROID_ID is.
The UUID is generated by using ANDROID_ID as the base key if appropriate, falling back on TelephonyManager.getDeviceID() if ANDROID_ID is known to be incorrect, and finally falling back on a random UUID that's persisted to SharedPreferences if getDeviceID() does not return a usable value.
In some rare circumstances, this ID may change. In particular, if the device is factory reset a new device ID may be generated. In addition, if a user upgrades their phone from certain buggy implementations of Android 2.2 to a newer, non-buggy version of Android, the device ID may change. Or, if a user uninstalls your app on a device that has neither a proper Android ID nor a Device ID, this ID may change on reinstallation.
Note that if the code falls back on using TelephonyManager.getDeviceId(), the resulting ID will NOT change after a factory reset. Something to be aware of.
Works around a bug in Android 2.2 for many devices when using ANDROID_ID directly.