ios - 可达性:带 Wifi 的飞行模式

标签 ios wifi reachability airplane-mode

我目前正在使用可达性来检测可用的连接。当什么都没有或有良好的连接时,这很有效。但是,如果我的用户在飞机上拥有自己的 wifi 节点,但没有连接到整个互联网怎么办?我的用户将在 wifi 开启的情况下处于飞行模式,并且 Reachability 会感到困惑——它告诉我她已连接,但她的连接不足以进行我的 HTTP 调用。

可达性检测 wifi,但不够精细或微妙,无法确定 wifi 是否真的提供对互联网的访问。当尝试连接到 wifi 但没有正确的凭据来获得授权时,这也可能发生在咖啡馆或办公室。

是否可以检测 wifi 节点是否要求提供凭据?我是否需要进行 HTTP 调用来检查真正的连接性?有没有更聪明的方法来解决这个问题?

最佳答案

据我所知,你必须做一些工作才能做到这一点。仅供引用,当 WiFi 和蜂窝调制解调器的接口(interface)打开时,当接口(interface)重新联机时,就会有整个握手过程。接口(interface)是否打开和打开、是否有 IP 地址以及是否可以访问 Internet 地址是有区别的。我知道当我们关闭飞行模式并恢复连接时这更重要,但有时我们会忘记整个“启动和获取 IP 地址”的事情。

我会检查每个接口(interface)的可达性标志,然后看看你是否可以点击一个地址并通过该接口(interface)取回数据。

关于ios - 可达性:带 Wifi 的飞行模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36847776/

相关文章:

ios - 如何唯一识别 iPhone/iPad?

ios - 使iPhone App无法在App Store上搜索

ios - 检查 WiFi 是否已在 React Native iOS 应用程序中打开

MAC地址更改后,Android无法连接到wifi

ios - 可达性类崩溃程序 - 不确定为什么

ios - iPhone 可达类(class)

ios - 通过 Reachability 类 swift 2.0 的网络连接检查器

ios - 删除 TableView 中的所有本地通知和单元格

iphone - 如何从 xml 中获取图像?

c# - 强制应用程序在 WP7.5 中通过 wi-fi 连接使用 3G 连接