Android唯一UDID

Android唯一UDID,android,uniqueidentifier,udid,Android,Uniqueidentifier,Udid,有人能告诉我我使用的代码是否是获取唯一id的正确方法吗?我怀疑我可能有被欺骗的人,这可能会在我公司的管理层引起问题 final TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); String UDID = tm.getDeviceId(); 这是调用getDeviceId()的正确方法。这可能不是唯一的标识符,因为并非所有设备都是电话,有些电话有bug。有关

有人能告诉我我使用的代码是否是获取唯一id的正确方法吗?我怀疑我可能有被欺骗的人,这可能会在我公司的管理层引起问题

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

这是调用
getDeviceId()
的正确方法。这可能不是唯一的标识符,因为并非所有设备都是电话,有些电话有bug。有关更多详细信息,请参阅。

这是调用
getDeviceId()
的正确方法。这可能不是唯一的标识符,因为并非所有设备都是电话,有些电话有bug。有关更多详细信息,请参阅。

如果您想要android的唯一标识符,那么通过简单的谷歌搜索,您会发现很多问题。与Commonware提到的类似

但是,您仍然可以获得唯一标识符。真正的问题是你想识别什么。是用户还是设备

如果要标识特定用户,请执行以下操作:

你想知道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()选项,因为它对隐私的影响较小

但您可以将其作为一个步骤事件进一步处理,并在存储之前对该值进行散列


然而,如果你不能得到一个正确的返回值,你可以做一些事情,比如让用户输入他们的电话号码,并通过短信验证。然后将其用作标识符

如果你想为安卓系统提供一个唯一的标识符,那么通过一个简单的谷歌搜索,你会发现很多问题。与Commonware提到的类似

但是,您仍然可以获得唯一标识符。真正的问题是你想识别什么。是用户还是设备

如果要标识特定用户,请执行以下操作:

你想知道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()选项,因为它对隐私的影响较小

但您可以将其作为一个步骤事件进一步处理,并在存储之前对该值进行散列

然而,如果你不能得到一个正确的返回值,你可以做一些事情,比如让用户输入他们的电话号码,并通过短信验证。然后将其用作标识符