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.

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top