Windows Phone 8.1中的设备唯一ID

时间:2014-04-27 09:10:51

标签: c# windows-phone windows-phone-8.1 win-universal-app

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

2 个答案:

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

希望这有帮助!

答案 1 :(得分:23)

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

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

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

还有Guidance on using the App Specific Hardware ID (ASHWID) to implement per-device app logic