ID_CAP_IDENTIY_DEVICE está faltando nos recursos do WP8.1
-
20-12-2019 - |
Pergunta
Por que o recurso ID_CAP_IDENTITY_DEVICE está faltando no Wp8.1?Devido a isso, não consigo obter o ID do dispositivo correspondente ao que estou obtendo no WP8!
E isso, por sua vez, está causando muitos problemas na atualização do aplicativo!
Agora estou usando,
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 ;
Anteriormente usávamos,
DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out uniqueId);
result = (byte[])uniqueId;
string id = Convert.ToBase64String(result).Replace("=", "").Replace("/", "").Replace("+", "");
return id + "";
Por favor, sugira uma solução para que possamos obter IDs semelhantes em ambas as plataformas!
Toda ajuda e sugestões serão apreciadas.
Solução
Se você estiver desenvolvendo um aplicativo XAML do Windows Phone 8.1, ele não suportará ID_CAP_IDENTITY_DEVICE, pois pode ser implantado em qualquer dispositivo, como telefone, tablet ou desktop.Então, em vez disso, você pode usar a classe HardwareIndentification para obter o ID do dispositivo
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;
}
Isso pode ser útil. Orientação sobre como usar o ID de hardware específico do aplicativo (ASHWID) para implementar a lógica do aplicativo por dispositivo