Reputation: 942
To get the Unique Device ID on Android phones/tablets, we use the following:
((TelephonyManager) ctx.getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId()
But for Kindle Fire, we can't get one.
Upvotes: 4
Views: 9359
Reputation: 11134
put
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
then
try this:
public String deviceId;
then:
// ------------- get UNIQUE device ID
deviceId = String.valueOf(System.currentTimeMillis()); // --------
// backup for
// tablets etc
try {
final TelephonyManager tm = (TelephonyManager) getBaseContext()
.getSystemService(Main.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());
deviceId = deviceUuid.toString();
} catch (Exception e) {
Log.v("Attention", "Nu am putut sa iau deviceid-ul !?");
}
// ------------- END get UNIQUE device ID
from here -> Is there a unique Android device ID?
Upvotes: 0
Reputation: 4082
You should try using the following line:
deviceId = Secure.getString(context.getContentResolver(), Secure.ANDROID_ID);
This will get the device ID from tablets, the code you're using only works on phones (it will return null
on tablets)
Upvotes: 4