如何在Android应用中利用WebView对console错误信息进行监听
发布时间:2020-12-14 14:44:28
来源:亿速云
阅读:113
作者:Leah
如何在Android应用中利用WebView对console错误信息进行监听?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
根据需求,我们要拿到h6的错误信息,并将error信息进行上报。查询了下Android WebView的API发现了WebChromeClient这个方法可以满足要求:@Override
public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
//获取log的级别
switch (consoleMessage.messageLevel()){
case ERROR://将error信息上报到服务端
LogUtil.logE("webview==",consoleMessage.message()+" level="+ consoleMessage.messageLevel());
LogUtil.uploadH5Error(consoleMessage.message());
break;
}
return super.onConsoleMessage(consoleMessage);
}
这个方法的作用就是* Report a JavaScript console message to the host application.,就是说这个方法可以拦截JavaScript的console信息,就跟在浏览器里查看一样;对于Android来说,在Android studio 的logcat里面就就可以查看,比如我让h6随便弄个undefined错误,然后重写了js的log方法logcat输出如下:
从输出信息我们可以看到可以捕获到行号,错误信息,错误的URL。这些信息都在ConsoleMessage对象里。 其代码如下:
可以看出ConsoleMessage里面也有log级别,我们只需要将error级别的日志上报即可。
看完上述内容,你们掌握如何在Android应用中利用WebView对console错误信息进行监听的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!