Windows Phone 8.1:DeviceExtendedProperties或DeviceStatus for Device Unique ID

时间:2014-12-22 11:39:24

标签: windows-phone-8.1 device unique-id

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

WP8.1中没有DeviceExtendedPropertiesDeviceStatus(没有Microsoft.Phone.Info命名空间)。我刚刚找到了EasClientDeviceInformation类,我无法从中获取IdId属性中有一个例外:

enter image description here

其他属性并不是唯一的。

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

1 个答案:

答案 0 :(得分: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("-", "");
}