通过安卓实现浏览自定义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" />

文章讲述了在开发过程中遇到的一个问题,即在Android5的PDA上,自定义H5页面的navigator.onLine事件在Webview中始终返回true,无法正确检测网络状态。经过一系列排查,发现是因为缺少了应用的网络状态权限配置。添加了INTERNET,ACCESS_NETWORK_STATE,ACCESS_WIFI_STATE权限后,问题得到解决,网络状态监测和online事件恢复正常。
3498

被折叠的 条评论
为什么被折叠?



