C# 在VS2012 Windows 8应用商店应用程序中获取唯一的设备ID

C# 在VS2012 Windows 8应用商店应用程序中获取唯一的设备ID,c#,xaml,windows-8,windows-store-apps,windows-8.1,C#,Xaml,Windows 8,Windows Store Apps,Windows 8.1,我是Windows 8应用商店应用程序的新手,需要在我的一个XAML项目中获取设备ID。这个设备ID应该是唯一的。我在网上搜索,发现了两种不同的方法 C#代码中的第一种方式 C代码中的第二种方式 第一个以位格式给出,而第二个以GUID给出。我不知道哪个是正确的 我提到了这个 还有MSDN 有谁能告诉我哪些可以用作设备ID吗?我也有同样的困惑,但最终还是使用了HardwareIdentification.GetPackageSpecificToken。 因为我找不到有关EasClientDevic

我是Windows 8应用商店应用程序的新手,需要在我的一个XAML项目中获取设备ID。这个设备ID应该是唯一的。我在网上搜索,发现了两种不同的方法

C#代码中的第一种方式

C代码中的第二种方式

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

我提到了这个

还有MSDN


有谁能告诉我哪些可以用作设备ID吗?

我也有同样的困惑,但最终还是使用了
HardwareIdentification.GetPackageSpecificToken
。 因为我找不到有关
EasClientDeviceInformation.ID的唯一性的信息

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


有关详细信息,请参见。

在VS2013中,当上载从Microsoft推送通知服务器(MPNS)检索的频道URI以实现推送通知时,Microsoft使用以下方法检索当前设备的唯一“安装id”或“设备id”:

var token = Windows.System.Profile.HardwareIdentification.GetPackageSpecificToken(null);
string installationId = Windows.Security.Cryptography.CryptographicBuffer.EncodeToBase64String(token.Id);
可能重复的
var easClientDeviceInformation = new Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation()
GUID deviceId = easClientDeviceInformation.Id;
var token = Windows.System.Profile.HardwareIdentification.GetPackageSpecificToken(null);
string installationId = Windows.Security.Cryptography.CryptographicBuffer.EncodeToBase64String(token.Id);