[ Windows Phone ] How To Get Device UUID

Как получить UUID на WP

Вот почему-то добрые дяди из Майкрософта в очередной раз нам напакастили, и не предоставили человеческой возможности получить uuid, поэтому все придумывают, кто что:

1. Сгенерировать какой-то guid и сохранить, для дальнейшего использования

        private Guid CreateGuid()
        {
            var guid = new Guid();
            IsolatedStorageSettings.ApplicationSettings["guid"] = guid;
            IsolatedStorageSettings.ApplicationSettings.Save();
            return guid;
        }

        private Guid GetGuid()
        {
            if (IsolatedStorageSettings.ApplicationSettings.Contains("guid"))
                return (Guid)IsolatedStorageSettings.ApplicationSettings["guid"];
            else
                return CreateGuid();
        }

Причём, не так красиво, как я написал 😉

Но тут есть минус, после переустановки приложения и guid будет другой. По поводу вероятности пересечения между устройствами, она весьма низкая.

2. Довольствоваться различными извращениями с Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("DeviceUniqueId");

http://stackoverflow.com/questions/13975315/get-unique-device-id-udid-under-windows-phone-8

http://stackoverflow.com/questions/8477664/how-can-i-generate-uuid-in-c-sharp

В общем-то, путь верный, т.к. значения будут уникальными, и не будут меняться после переустановки приложения, но всё же, это не то, чего мы хотим:

3. А вот чего мы все так долго хотели, так это нечто вроде:

        public static string GetMeNowUUID()
        {
            byte[] d = new byte[16];
            Array.Copy((byte[])Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("DeviceUniqueId"), d, d.Length);
            return new Guid(d).ToString();
        }

Тут мы так же получаем DeviceUniqueId, и извращаемся с ним, но в итоге получаем то, чего так долго ждали: 193d62da-1697-73be-77b9-fd1d0b4cb858. Всегда!

Вроде просто, но нигде так и не нашёл.

 

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *