我需要一种方法来了解每个用户的唯一性,无论是iPhone,Android还是Windows Phone设备。如果没有普遍的方式,我想知道保存电话号码是否合法(即合法)。
有人有这方面的经验吗?
答案 0 :(得分:12)
我不相信有一种跨平台的方式可以做到这一点。每个设备都有自己的SDK平台和API。
更新:对我之前的陈述进行略微更正,因为看起来PhoneGap可能会为您提供跨平台方法。
<强>的PhoneGap:强>
var deviceID = device.uuid;
请参阅:http://docs.phonegap.com/phonegap_device_device.md.html
以下是您在每个平台上的表现方式:
<强>机器人:强>
android.telephony.getDeviceId()
请参阅:http://developer.android.com/reference/android/telephony/TelephonyManager.html#getDeviceId%28%29
<强> iPhone:强>
[[UIDevice currentDevice] uniqueIdentifier]
Windows Phone 7:
DeviceExtendedProperties.GetValue("DeviceUniqueId")
请参阅:http://msdn.microsoft.com/en-us/library/ff941122%28v=VS.92%29.aspx
<强>黑莓:强>
FindDeviceForUserResult result=coreWebService.findDeviceForUser(userId, locale, true);
if (result.getFindDeviceForUserReturnStatus().getCode()!= FindDeviceForUserReturnStatusEnumType.SUCCESS)
{
// handle any errors
}
if (result.getDevice() == null)
{
// notify the user
}
int deviceID = result.getDevice().getDeviceId();
请参阅:http://docs.blackberry.com/en/developers/deliverables/7283/Find_BlackBerry_devices_628863_11.jsp
答案 1 :(得分:2)
如果你只关心移动设备,那么有一种叫做IMEI numner的东西。这应该是可访问的。法律含义我不确定。我想只要你不太个人化(标记给一个人),这应该不是问题。
答案 2 :(得分:1)
尝试获取IMEI号码。可能对你有用。
由于
答案 3 :(得分:1)
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
deviceid = telephonyManager.getDeviceId();
答案 4 :(得分:0)
我不能代表iPhone或Windows Phone 7,但要获得Android手机的唯一ID,我建议您查看此帖:
Is there a unique Android device ID?
如上所述,它不是100%可靠。
答案 5 :(得分:0)
对于iPhone 您可以在iPhone中使用以下代码找到移动设备ID。
NSString *uniqueIdentifier = [[UIDevice currentDevice] uniqueIdentifier];
NSLog("UniqueIdentifier:-->%@",uniqueIdentifier);
答案 6 :(得分:0)
这就是我为WindowsPhone做的事情
void checkGuid()
{
object uniqueID;
DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out uniqueID);
byte[] bID = (byte[])uniqueID;
_clientID = Convert.ToBase64String(bID);
Debug.WriteLine(_clientID);
if (!IsolatedStorageSettings.ApplicationSettings.Contains("Guid"))
{
IsolatedStorageSettings.ApplicationSettings.Add("Guid", _clientID);
}
}
至于保留他们的电话号码,据我所知,微软自动向用户提供协议以响应他们检测到应用需要使用的内容,
您可以在用户启动应用程序时向用户提供某种类型的EULA,并要求他们允许使用其电话号码