要获取Android手机/平板电脑上的唯一设备ID,我们使用以下方法:
((TelephonyManager) ctx.getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId()
但对于Kindle Fire,我们却买不到。
xzlaal3s1#
您应该尝试使用以下行:
deviceId = Secure.getString(context.getContentResolver(), Secure.ANDROID_ID);
这将从平板电脑中获取设备ID,您使用的代码仅适用于手机(在平板电脑上将返回null)
null
qvtsj1bj2#
放置
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
那么试试这个:
public String deviceId;
然后:
// ------------- 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
从这里开始-〉Is there a unique Android device ID?
2条答案
按热度按时间xzlaal3s1#
您应该尝试使用以下行:
这将从平板电脑中获取设备ID,您使用的代码仅适用于手机(在平板电脑上将返回
null
)qvtsj1bj2#
放置
那么
试试这个:
然后:
从这里开始-〉Is there a unique Android device ID?