如何在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错误信息进行监听的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。