Pull to refresh

Comments 12

UFO just landed and posted this here
Отличное дополнение. Что же теперь я буду писать в 4-й части? :)
UFO just landed and posted this here
UFO just landed and posted this here
Встречал ситуацию когда это не работает: при наличии 3G «свистка» — NetworkInformation.GetInternetConnectionProfile() возвращает null.
Но сеть присутствует.
UFO just landed and posted this here
Но у пользователя то на машине это может быть не включено. И приложение скажет — «сеть отсутствует», хотя все окей.
UFO just landed and posted this here
К сожалению этот код не всегда работает. Я уже написал новую версию WinRTExtensions в котором есть хелпер для определения состояния подключения. (И в новой версии уже частично корректно отображаются блоки кода в RichTextBlock).

Полная версия хелпера сейчас выглядит следующим образом:

спойлер InternetConnectionHelper
public static class InternetConnectionHelper
    {
        public delegate void InternetConnectionChangedHandler(object sender, InternetConnectionChangedEventArgs args);

        public static event InternetConnectionChangedHandler InternetConnectionChanged;

        static InternetConnectionHelper()
        {
            NetworkInformation.NetworkStatusChanged += NetworkInformation_NetworkStatusChanged;
        }

        private static void NetworkInformation_NetworkStatusChanged(object sender)
        {
            var arg = new InternetConnectionChangedEventArgs { IsConnected = IsConnected };

            if (InternetConnectionChanged != null)
                InternetConnectionChanged(null, arg);
        }

        public static bool IsConnected
        {
            get
            {
                var connectionProfile = NetworkInformation.GetInternetConnectionProfile();
                if (connectionProfile == null)
                {
                    return false;
                }
                var networkConnectivityLevel = connectionProfile.GetNetworkConnectivityLevel();
                if (networkConnectivityLevel == NetworkConnectivityLevel.None || networkConnectivityLevel==NetworkConnectivityLevel.LocalAccess)
                {
                    return false;
                }
                return true;
            }
        }
    }


Ошибся веткой: это ответ на комментарий
А проблему детектирования 3G соединения это решает?
Похоже, что нет. Первый же if вернет false
Я пока даже не сталкивался с этой проблемой. Если достану где нибудь свисток попробую разобраться и с этим.
Sign up to leave a comment.