在 Windows Phone 7 上,您可以这样做以获取当前用户的匿名唯一 ID。
UserExtendedProperties.GetValue("ANID")
我已经搜索了一段时间以找到我当前的 Windows 8 (WinRT) 的等价物,但我似乎找不到它。我找到的所有结果都讨论了如何获取受支持的硬件/设备特定 ID,这不是我需要的。
在此先感谢,马德斯
在 Windows Phone 7 上,您可以这样做以获取当前用户的匿名唯一 ID。
UserExtendedProperties.GetValue("ANID")
我已经搜索了一段时间以找到我当前的 Windows 8 (WinRT) 的等价物,但我似乎找不到它。我找到的所有结果都讨论了如何获取受支持的硬件/设备特定 ID,这不是我需要的。
在此先感谢,马德斯
多亏了 xamlgeek 和其他人,我们发现在 Windows 8 中无法获得唯一用户 ID - 至少目前是这样。
所以我不得不退回到设备 ID,这远非我所需要的,但发现这个代码片段非常完美(C#):
http://bartwullems.blogspot.co.uk/2012/09/windows-8-uniquely-identifying-device.html
答案一点都不好,因为用户可以升级他的 PC 配置(通过插入蓝牙适配器或其他任何东西)。好的答案是使用对象:
Windows.Storage.ApplicationData.Current.RoamingSettings.Values["HighPriority"]
它通过云上应用程序的不同安装同步,更多信息在这里:HighPriority 密钥是特殊的,因为它是在新安装应用程序期间自动获取的。
http://blogs.msdn.com/b/windowsappdev/archive/2012/07/17/roaming-your-app-data.aspx
使用 GetPackageSpecificToken 是不明智的。即使用户只是将 USB 设备插入他的 PC/标签,或者打开/关闭 Wifi,此 ID 也会改变。实际上这是一个非常不稳定的事情,不知道为什么 MSFT 会成功。
我改用 LiveConnect(仅需要 Liveconnect 用户 ID,并且在所有用户设备上都相同)。它更可靠。在这里查看我的帖子:https ://stackoverflow.com/a/22389679/1656824