我使用DeviceUniqueId
对象的DeviceExtendedProperties
属性来识别我的Windows Phone应用中的设备。
在Windows Phone 7上,它运行良好,设备ID在所有应用程序中保持稳定。
我将我的应用迁移到Windows Phone 8(针对WP7和8),它仍然照常运行。
但是,我刚刚开发了一个仅针对WP8的应用程序,我注意到DeviceUniqueId
与我的其他应用程序(在同一设备上运行)不同。
可以肯定的是,我创建了一些其他测试应用程序。
以下是同一设备(诺基亚Lumia 820)的示例:
这是打算吗?是否可以获得仅限WP8的应用程序的固定设备ID?
我无法在MSDN上找到有关此行为的任何正式文档。
感谢。
答案 0 :(得分:2)
根据官方MSDN document:
DeviceUniqueId - 设备的唯一哈希值。这个值将是 在所有应用程序中保持不变,如果是手机则不会改变 使用新版本的操作系统进行了更新。应用 不应该使用它来识别用户,因为设备ID会 即使转让设备的所有权,也保持不变。
在Windows Mobile 6.5中,哈希为was app-specific。对于Windows Phone,情况并非如此。尽管如此,ID是特定于发布者的。尝试更改清单中的发布者GUID,您将看到会发生什么。
答案 1 :(得分:1)
对于Windows Phone 8,MSDN上的定义是:
对于在Windows Phone 8设备及更高版本上运行的Windows Phone 8应用程序,DeviceUniqueId值对于每个设备和每个应用程序发布者都是唯一的。对于Windows Phone 8应用程序,DeviceUniqueId在功能上与Windows运行时中的HostInformation.PublisherHostId属性相同。