可达性:开启 Wifi 的飞行模式
Reachability: Airplane Mode with Wifi ON
我目前正在使用 Reachability 检测可用连接。当什么都没有或连接良好时,这很有效。但是,如果我的用户在飞机上有自己的 wifi 节点,但没有连接到互联网怎么办?我的用户将处于打开 wifi 的飞行模式,并且可达性变得混乱——它告诉我她已连接但她的连接不足以进行我的 HTTP 调用。
可达性检测到 wifi,但不够精细或细微,无法确定 wifi 是否真的提供互联网访问。当尝试连接到 wifi 但没有正确的凭据被授权时,这也可能发生在咖啡馆或办公室。
是否可以检测 wifi 节点是否在请求凭据?我是否需要进行 HTTP 调用来检查真正的连接?有没有更聪明的方法来解决这个问题?
据我所知,您将需要做一些工作才能做到这一点。仅供参考,当 WiFi 和蜂窝调制解调器的接口打开时,接口重新联机时会进行整个握手操作。接口是否打开、是否打开、是否有IP地址、是否能到达internet地址等都有区别。我知道当我们关闭飞行模式并恢复连接时这更重要,但有时我们会忘记整个 "starting up and acquiring an IP address" 事情。
我会检查每个接口的可达性标志,然后看看您是否可以找到一个地址并通过该接口取回数据。
我目前正在使用 Reachability 检测可用连接。当什么都没有或连接良好时,这很有效。但是,如果我的用户在飞机上有自己的 wifi 节点,但没有连接到互联网怎么办?我的用户将处于打开 wifi 的飞行模式,并且可达性变得混乱——它告诉我她已连接但她的连接不足以进行我的 HTTP 调用。
可达性检测到 wifi,但不够精细或细微,无法确定 wifi 是否真的提供互联网访问。当尝试连接到 wifi 但没有正确的凭据被授权时,这也可能发生在咖啡馆或办公室。
是否可以检测 wifi 节点是否在请求凭据?我是否需要进行 HTTP 调用来检查真正的连接?有没有更聪明的方法来解决这个问题?
据我所知,您将需要做一些工作才能做到这一点。仅供参考,当 WiFi 和蜂窝调制解调器的接口打开时,接口重新联机时会进行整个握手操作。接口是否打开、是否打开、是否有IP地址、是否能到达internet地址等都有区别。我知道当我们关闭飞行模式并恢复连接时这更重要,但有时我们会忘记整个 "starting up and acquiring an IP address" 事情。
我会检查每个接口的可达性标志,然后看看您是否可以找到一个地址并通过该接口取回数据。