我目前正在使用Reachability来检测可用的连接。当没有任何东西或者有良好的连接时,这种方法很有效。但是如果我的用户在一个有自己的wifi节点并且没有连接到互联网的飞机上呢?我的用户将处于飞行模式,启用wifi并且可达性变得混乱 - 它告诉我她已连接但是她没有连接到我的HTTP呼叫。
可达性检测到wifi,但不是精细或微妙的,以确定wifi是否真的提供对互联网的访问。这也可能发生在咖啡馆或办公室,当尝试连接到wifi但没有正确的凭据进行授权时。
是否可以检测wifi节点是否要求凭据?我是否需要进行HTTP调用以检查真正的连接?有没有更聪明的方法来解决这个问题?
答案 0 :(得分:-1)
据我所知,你必须做一些工作才能做到这一点。仅供参考,当接口打开WiFi和手机调制解调器时,界面重新上线时会有整个握手的事情。接口是打开还是打开以及是否具有IP地址以及是否可以访问Internet地址存在差异。我知道当我们关闭飞机模式并恢复连接时,这一点更重要,但有整个"启动并获取IP地址"有时我们会忘记的事情。
我检查每个接口的可达性标志,然后看看你是否可以点击一个地址并通过该接口获取数据。