2

我想在 Windows Phone 8.1中获取设备 ID 。

DeviceExtendedPropertiesDeviceStatus在WP8.1中不可用(没有Microsoft.Phone.Info命名空间)。我刚刚找到了EasClientDeviceInformation我无法从中获得的课程Id。该物业有一个例外Id

在此处输入图像描述

其他属性也不是唯一的。

这里还有另一种解决方案,但我不知道使用它是否安全或可靠:(?)
https://stackoverflow.com/a/23537207/3682369

4

1 回答 1

5

是的,您可以使用GetPackageSpecificToken(). 我已经研究过了,还没有找到任何其他方法。虽然 MSDN 说该Id属性包含一些硬件信息,但它实际上是任何设备的唯一值,即使是相同型号的设备。所以你可以用它来识别用户的设备。

这就是我在我的应用程序中使用它的方式。随意使用我的代码:

private string GetDeviceId()
{
    var token = Windows.System.Profile.HardwareIdentification.GetPackageSpecificToken(null);
    var hardwareId = token.Id;
    var dataReader = Windows.Storage.Streams.DataReader.FromBuffer(hardwareId);

    byte[] bytes = new byte[hardwareId.Length];
    dataReader.ReadBytes(bytes);

    return BitConverter.ToString(bytes).Replace("-", "");
}
于 2014-12-22T12:24:38.603 回答