通过安卓实现浏览自定义H5页面,H5页面有navigator.onLine事件,绑定online事件后,在浏览器或者微信都正常,自定义webview始终navigator.onLine结果是true,绑定online事件也不生效。
百思不得其解,查询也未查询到相关问题。正好手上有其他webview项目软件,就想在其他软件上测试看看,修改后,竟然可以正常获取网络状态,绑定online事件也正常显示。
期间一直以为是webview版本低导致,因为我开发的设备是一台安卓5的PDA。
后来拿到手上其他项目的进行对比,java代码都测试过,还是未生效,最后发现竟然是因为安卓没有安全,应用配置文件没有给软件网络状态权限。
后加入配置权限,完美解决。网络状态监测正常,online事件正常。记录一下,防止后续遇到同样问题。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />