为什么Wp8.1中缺少功能ID_CAP_IDENTITY_DEVICE? 因此,我无法获得与WP8中的设备ID匹配的设备ID!
这反过来又会导致App Upgradation出现很多问题!
现在我正在使用,
HardwareToken token = HardwareIdentification.GetPackageSpecificToken(null);
IBuffer hardwareId = token.Id;
HashAlgorithmProvider hasher = HashAlgorithmProvider.OpenAlgorithm("MD5");
IBuffer hashed = hasher.HashData(hardwareId);
string DeviceId = CryptographicBuffer.EncodeToHexString(hashed);
return DeviceId ;
以前我们用过,
DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out uniqueId);
result = (byte[])uniqueId;
string id = Convert.ToBase64String(result).Replace("=", "").Replace("/", "").Replace("+", "");
return id + "";
请建议一个解决方案,以便我们可以在两个平台上获得类似的ID!
所有帮助和建议表示赞赏。
答案 0 :(得分:6)
如果您正在开发Windows Phone 8.1 XAML应用程序,它将不支持ID_CAP_IDENTITY_DEVICE,因为它可以部署在任何设备上,即手机,平板电脑或台式机。因此,您可以使用HardwareIndentification类来获取设备ID
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;
}
这可能会有所帮助。 Guidance on using the App Specific Hardware ID (ASHWID) to implement per-device app logic