是否有任何唯一的设备ID(UDID)或任何类似的ID,我可以在Windows Phone 8(WP8)上读取,不会随硬件更改,应用程序重新安装等而改变?
在较旧的Windows Phone版本中,存在以下ID:WP7:Windows Phone的设备状态
WP7.1:DeviceStatus类
但是它们不再适用于SDK 8.0.
为什么我问: 想法是用户在第一次启动应用程序时获得一些免费信用,我想避免用户只是重新安装应用程序以获得新的免费信用.使用电子邮件或电话号码注册可以解决这个问题,但如果可以,我不希望在第一次注册时打扰用户.
- -/// - -解 - - - - -
我可以确认DeviceExtendedProperties.GetValue("DeviceUniqueId")仍然可以在WP 8.0中运行.当我阅读以下文字时有点困惑:
在Windows Phone OS 7.0中,此类用于查询特定于设备的属性.在Windows Phone OS 7.1中,不推荐使用DeviceExtendedProperties中的大多数属性,而应使用新的DeviceStatus类.但是,在适当的情况下,您仍然可以使用以下任何未弃用的属性.
MSDN:DeviceExtendedProperties类
我可以运行以下代码,删除应用程序并重新安装它并获得相同的ID:
byte[] myDeviceID = (byte[])Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("DeviceUniqueId");
string DeviceIDAsString = Convert.ToBase64String(myDeviceID);
MessageBox.Show(DeviceIDAsString);
Run Code Online (Sandbox Code Playgroud)