Вопрос

Почему возможности ID_CAP_IDENTY_DEVICE отсутствует в WP8.1? Из-за этого я не могу получить идентификатор устройства, соответствующий тому, что я получаю в WP8!

И это в свою очередь, вызывает много проблем в обновлении приложения!

Теперь я использую,

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 + "";
.

Пожалуйста, предложите решение, чтобы мы могли получить подобные идентификаторы в обеих платформах!

вся помощь и предложения оценены.

Это было полезно?

Решение

Если вы разрабатываете приложение для Windows Phone 8.1 XAML, он не поддерживает ID_CAP_ Addevice, поскольку он может быть развернут на любом устройстве, т.е. телефон, планшет или рабочий стол.Таким образом, вместо этого вы можете использовать класс HardWareDentification для получения идентификатора устройства

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;
        }
.

Это может быть полезно. Руководство по использованию идентификатора аппаратного обеспечения приложения (Ashwid) для реализацииУстройство приложений логика

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top