Android的唯一UDID(Android unique UDID)

2019-10-28 20:32发布

谁能告诉我,如果我一直使用的代码是正确的方式来获得的唯一ID? 我怀疑我可能有愚弄了那里,这可能是在我公司的管理水平导致问题...

final TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
String UDID = tm.getDeviceId();

Answer 1:

这是调用有道getDeviceId() 这可能不是一个唯一的标识符,因为不是所有的设备都是手机和某些手机上有错误。 请参见本Android开发者博客文章的更多细节。



Answer 2:

如果你想为Android的唯一标识符有吨,你会看到一个简单的谷歌搜索出现的问题。 类似CommonsWare提到什么。

但是你仍然可以得到一个唯一的标识符。 真正的问题是要确定是什么。 任一用户或设备?

如果你想找出特定用户:

你想IMSI值。

final TelephonyManager tm = (TelephonyManager)context`.getSystemService(Context.TELEPHONY_SERVICE);

String UDID = tm.getSubscriberId()

如果要识别硬件,那么你需要的IMEI值:

final TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);

String UDID = tm.getDeviceId()

现在:我会建议使用,因为它具有较小的隐私问题的getDeviceID()选项去。

但是,你可以把它一步事件进一步和存储之前哈希此值。

但是,如果你不能得到正确的返回值,你总是可以做这样的事情让用户输入自己的手机号码,并验证它是通过一个短信。 然后使用该作为标识符。



文章来源: Android unique UDID