在iPhone上用Monotouch切换3G和WiFi



我有一个使用MonoTouch构建的本地应用程序,它使用web服务与业务层进行通信。当设备在3G和WiFi之间切换时,我试图获得一些更好的行为。如果应用程序从WiFi启动,它必须继续在WiFi下运行,不能切换到3G,反之亦然。如果我在3G下运行应用程序,我可以启动飞行模式关闭连接并使用Wifi,但我的应用程序不会与服务通信。如果我先运行Wifi,然后关闭它并连接3G,它将不会与我的服务层通信。

如果我终止应用程序并再次启动它,它将正常工作。我甚至可以使用Safari浏览器,并通过设备上的浏览器访问相同的服务,以验证是否有到达那里的路径,但我的应用程序仍然无法与服务通信,直到它恢复到原来的连接类型。我没有做任何事情来保持联系。只是根据需要打开和关闭HttpWebRequests。网络可达性标志总是表明我有一条可用的路由。

该应用程序是一个人们走出连接WiFi的建筑物,可能走得足够远,他们失去了WiFi和3G连接。由于某些原因,它没有切换,我不明白,因为我认为它应该自动发生。

您可以确保到特定站点的网络是这样的:

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

相关内容

  • 没有找到相关文章

最新更新