Свойство IsNetworkavailable всегда возвращает true

1

Как найти погоду в моем телефоне с окнами Интернет или сетевое подключение включено в коде С#? Для меня isnetworkavailable возвращает true всегда.

Теги:
windows-phone-8

2 ответа

0

Вы можете попытаться использовать GetIsNetworkAvailable который возвращает результат на основе доступных сетевых интерфейсов. Как это:

bool isNetworkAvailable=NetworkInterface.GetIsNetworkAvailable();
if(!isNetworkAvailable)
{
   //your code

}
  • 0
    его возвращение верно всегда. если сеть / передача данных отключена, но Wi-Fi на его возвращении истина ..
  • 0
    @SambhavPani: вы должны сказать в своем вопросе, что вы говорите о случае, когда у машины есть работающее сетевое соединение, но нет интернет-соединения. Имейте в виду, что не всегда разумно даже пытаться обнаружить это; Что, если у пользователя есть связь с конкретным сайтом, который ему нужен, а не с сайтами, которые Windows использует для проверки доступа в интернет? Обычно лучше просто попытаться подключиться и посмотреть, работает ли он или нет.
Показать ещё 1 комментарий
0

Единственный способ найти - подписаться на событие DeviceNetworkInformation.NetworkAvailabilityChanged.

После того, как вы получили это событие (что гарантируется при изменении сети), вы узнаете, подключены вы или нет, запросив здесь различные apis.

Существует пример кода, который точно скажет вам, как это сделать.

Вы также можете проверить, в какой сети вы работаете с NetworkInterface.NetworkInterfaceType, однако будьте осторожны, так как вызов этого API может заморозить вызывающий поток (или пользовательский интерфейс, если вы убегаете от основного потока) при определенных обстоятельствах (подключение к Wi-Fi например, один из них).
Вы должны быть в порядке, если снова следовать примерам!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню