1

我是 Windows 8 商店应用程序的新手,需要在我的 XAML 项目之一中获取设备 ID。并且这个设备 ID 应该是唯一的。我搜索了互联网并遇到了两种不同的方式。

C#代码中的第一种方式,

private string GetHardwareId()
{
    var token = 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);
} 

C#代码中的第二种方式,

var easClientDeviceInformation = new Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation()
GUID deviceId = easClientDeviceInformation.Id;

第一个以位格式给出,而第二个给出 GUID。我不知道哪个是正确的。

我提到了这个博客

还有 MSDN链接

谁能指导我哪些可以用作设备ID?

4

2 回答 2

1

在 VS2013 中,微软在上传从 Microsoft Push Notification Server (MPNS) 检索到的频道 URI 以实现 Push Notification 时,使用以下方法检索当前设备的唯一“安装 id”或“设备 id”:

var token = Windows.System.Profile.HardwareIdentification.GetPackageSpecificToken(null);
string installationId = Windows.Security.Cryptography.CryptographicBuffer.EncodeToBase64String(token.Id);
于 2013-12-10T17:54:40.120 回答
1

我有同样的困惑,但最终使用HardwareIdentification.GetPackageSpecificToken. 因为我没有找到关于唯一性的信息EasClientDeviceInformation.ID

但是,您不能按原样使用IDreturn by HardwareIdentification.GetPackageSpecificToken,因为它依赖于许多硬件组件。如果其中任何一个发生了变化,将返回一个不同的 id。

此链接上有更多信息。

于 2013-07-05T12:26:51.810 回答