谁能告诉我,如果我一直使用的代码是正确的方式来获得的唯一ID? 我怀疑我可能有愚弄了那里,这可能是在我公司的管理水平导致问题...
final TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
String UDID = tm.getDeviceId();
谁能告诉我,如果我一直使用的代码是正确的方式来获得的唯一ID? 我怀疑我可能有愚弄了那里,这可能是在我公司的管理水平导致问题...
final TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
String UDID = tm.getDeviceId();
这是调用有道getDeviceId()
这可能不是一个唯一的标识符,因为不是所有的设备都是手机和某些手机上有错误。 请参见本Android开发者博客文章的更多细节。
如果你想为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()选项去。
但是,你可以把它一步事件进一步和存储之前哈希此值。
但是,如果你不能得到正确的返回值,你总是可以做这样的事情让用户输入自己的手机号码,并验证它是通过一个短信。 然后使用该作为标识符。