【发布时间】:2013-03-13 07:14:14
【问题描述】:
我如何知道设备是否更改了网络?例如这个用例:
- 用户连接到 Wi-Fi A。
- 用户启动我的应用程序。
- 用户连接到 Wi-Fi B.(甚至是 3G)
- 用户恢复应用。
是否有通知应用程序,设备从 Wi-Fi A 更改为 Wi-Fi B?
【问题讨论】:
-
我的问题可能不够具体。所以我会在这里的细节。我在后台保持我的 XMPP 套接字连接处于活动状态,我不会断开它,所以当应用程序回到前台时,我可以再次使用它,而无需重新连接。现在当用户更改网络时,例如 Wi-Fi A 到 Wi-Fi B,套接字连接现在无效。当应用程序处于后台时,可达性通知不起作用。我的应用程序中没有后台执行,所以我想,可达性并不是这个问题的真正答案。
-
我找到的解决方案是使用网络的BSSID,当我把应用程序放在后台时保存它,然后当我把应用程序放在前台时,我检查当前的BSSID,然后如果不一样,我更新套接字连接。
标签: iphone ios objective-c