gpt4 book ai didi

Android webview 返回 navigator.online true

转载 作者:行者123 更新时间:2023-11-29 23:19:33 33 4
gpt4 key购买 nike

在 Android Webview 中,我每 10 秒重新检查一次 navigator.onLine 是否返回 true 以获取新数据,或者如果返回 false 以继续使用本地数据。

但是,对于 navigator.onLine,Android WebView 总是返回 true。在 Chrome 浏览器(在手机上)中,同一网站可以正常工作,并根据连接显示正确的状态(真/假)。

我用 logcat 和远程 chrome 检查器调试了它。在远程 chrome 检查器中,我可以手动离线切换连接。除了在 java( native 应用程序)中使用网络监听器之外,任何有相同问题或想法来解决该问题的人。

if (navigator.onLine) {
// check if new data is available
checkDataUpdate();
} else {
// OFFLINE - Mode
}

最佳答案

我遇到了同样的问题,在尝试了不同的方法后,我发现我有一个网络属性 webView.setNetworkAvailable(true);

这是 navigator.onLine 始终返回 true 的主要原因。只要发现你有上面的代码并注释掉它。之后,webView 将像 chrome 浏览器一样工作。

来自安卓文档:

setNetworkAvailable

在 API 级别 3 中添加

void setNetworkAvailable (boolean networkUp)

通知 WebView 网络状态。这用于设置 JavaScript 属性 window.navigator.isOnline 并生成 HTML5 中指定的在线/离线事件

关于Android webview 返回 navigator.online true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54618799/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com