在WebView
的Android应用中,我们正在尝试检测无法访问服务器。它适用于Android上的Chrome,但不适用于Android应用中的WebView
。
在Chrome中
- 我在Android手机上运行我们的Chrome网站(Nexus 4,Android
5.1.1; Nexus 5x,Android 7.1.2)在我们的内部网络上
- 切换到我们的访客网络,该网络无法访问网站服务器
- 选择指向我们服务器上其他页面的链接
- 在我桌面的Chrome设备检查控制台中,我立即看到了
net::ERR_NAME_NOT_RESOLVED
错误,我们可以向您显示消息
用户。
在WebView中:
- 我在Android应用中使用WebView运行我们的网站
- 切换到访客网络
- 选择指向我们服务器上其他页面的链接
- 一段时间(大约一分钟)没有任何事情发生,然后我在桌面的Chrome设备检查控制台中看到https://下一页请求的
net::ERR_CONNECTION_TIMED_OUT
错误。
- 这不是一致行为,但在75%的时间内以这种方式失败
我正在尝试理解为什么Chrome会尝试解析服务器名称,但WebView
没有这样做,所以我们必须等待连接超时然后向用户显示消息?