我正在通过在 android 资产中使用 android 和离线 html5 页面来创建一个混合应用程序。navigator.online 在 Android Webview 中不起作用。
请帮忙
如果有人还在寻找这个。我的解决方案是在我的活动中注册一个广播接收器以检测连接更改。
@Override
protected void onPause() {
super.onPause();
if (connectivityChangeReceiver!=null) unregisterReceiver(connectivityChangeReceiver);
}
@Override
protected void onResume()
{
super.onResume();
IntentFilter intentFilter = new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE");
registerReceiver(connectivityChangeReceiver,intentFilter);
}
private BroadcastReceiver connectivityChangeReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent)
{
mWebView.setNetworkAvailable(isNetworkAvailable(context));
}
};
确保您在AndroidMenifest.xml
文件中提供以下权限:
<uses-permission android:name="android.permission.INTERNET />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
您可能想为您的活动添加以下代码行
document.addEventListener("online", onOnline, false);
document.addEventListener("offline", onOffline, false);
确保检查函数中的值function onOnline(){}
&function onOffline(){}
你确定你没有弄错拼写吗?
它应该是 navigator.onLine (camelCase)