27

如何在 Windows Phone 8.1 中获取设备唯一 ID?旧的使用方式DeviceExtendedProperties.GetValue("DeviceUniqueId")不适用于 Windows 通用应用程序。

4

2 回答 2

31
private string GetDeviceID()
{
    HardwareToken token = HardwareIdentification.GetPackageSpecificToken(null);
    IBuffer hardwareId = token.Id;

    HashAlgorithmProvider hasher = HashAlgorithmProvider.OpenAlgorithm("MD5");
    IBuffer hashed = hasher.HashData(hardwareId);

     string hashedString = CryptographicBuffer.EncodeToHexString(hashed);
     return hashedString;
}

希望这有帮助!

于 2014-05-08T08:59:07.757 回答
23

请注意,当您编写通用应用程序时,它不仅可以安装在手机上。虽然在电话上的硬件配置在技术上是相同的,但在其他设备上它可以改变,因此它的 ID。那就是我认为没有这样的通用方法来获取ID。(您也可以在此处找到更多信息)。

您可以查看HardwareIdentification 类及其方法GetPackageSpecificToken

HardwareToken myToken = HardwareIdentification.GetPackageSpecificToken(null);
IBuffer hardwareId = myToken.Id;

还有一个关于使用应用特定硬件 ID (ASHWID) 实现每设备应用逻辑的指南。

于 2014-04-27T10:26:22.887 回答