Переключение между 3G и WiFi на iPhone с Monotouch - PullRequest
0 голосов
/ 13 декабря 2011

У меня есть собственное приложение, созданное с использованием MonoTouch, которое использует веб-сервисы для связи с бизнес-уровнем. Я пытаюсь добиться лучшего поведения, когда устройство переключается между 3G и WiFi. Кажется, что если приложение запускается с WiFi, оно должно продолжать работать с WiFi и не может переключиться на 3G и наоборот. Если я запускаю приложение под 3G, я могу запустить режим полета, чтобы отключить соединение и подключиться к Wi-Fi, и мое приложение не будет общаться со службами. Если я сначала запустил Wifi, а затем выключил его и включил 3G, он не будет связываться с моим уровнем обслуживания.

Если я убью приложение и запустлю его снова, оно будет работать нормально. Я даже могу задействовать Safari и запустить те же сервисы через браузер на устройстве, чтобы проверить, есть ли маршрут, чтобы добраться туда, но мое приложение все равно не будет взаимодействовать со службами, пока не вернется к исходному типу соединения. Я не делаю ничего, чтобы удерживать связи. Просто открытие и закрытие HttpWebRequests по требованию. Флаги достижимости сети всегда указывают, что у меня есть доступный маршрут.

Это приложение, в котором люди выходят из здания, подключенного к Wi-Fi, и могут пройти достаточно далеко, потеряв WiFi и включив 3G. По какой-то причине он не переключается, чего я не понимаю, так как думал, что это должно произойти автоматически.

1 Ответ

0 голосов
/ 14 декабря 2011

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

 MonoTouch.ObjCRuntime.Runtime.StartWWAN (new Uri ("http://www.google.com"));
...