Как получать уведомления, когда я попадаю в зону с доступом в интернет (круг wifi)? - PullRequest
1 голос
/ 04 ноября 2011

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

Как мне этого добиться?Есть ли в WP7 канал уведомлений, чтобы сообщить об этом?Если да, пожалуйста, продемонстрируйте некоторый код для достижения цели.

Ответы [ 2 ]

5 голосов
/ 04 ноября 2011

Вы можете определить, подключены ли вы к сети, вы можете получить тип подключения, и телефон сообщит вам, когда он включится / отключится:

  • NetworkInterface.GetIsNetworkAvailable() проверяет, подключены ли вы к сети или офлайн
  • DeviceNetworkInformation расскажет вам больше о типе сети (Wifi, ...)
  • NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(OnNetworkChangeHandler); регистрирует слушателя для прослушивания изменений

Нажмите здесь для примера о том, как прослушивать изменения. Также очень хорош этот урок от MSDN , демонстрирующий все упомянутые выше вкусности!

Я также рекомендую прочитать эту запись в блоге , поскольку она содержит много ценной информации о различных API.

PS: Невозможно получить список всех доступных беспроводных сетей по телефону. Вы можете видеть только WLAN, к которой вы подключены (если). Это ограничение API Windows Phone.

0 голосов
/ 14 ноября 2011

Платформа не включает поддержку сценария «GeoFencing», который вы описываете.

Наилучшее доступное в настоящее время решение - периодически (с использованием фоновой задачи) проверять наличие соединения и затем начинать синхронизацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...