詳解Android WebView監(jiān)聽(tīng)console錯(cuò)誤信息
根據(jù)需求,我們要拿到h5的錯(cuò)誤信息,并將error信息進(jìn)行上報(bào)。查詢了下Android WebView的API發(fā)現(xiàn)了WebChromeClient這個(gè)方法可以滿足要求:
@Override public boolean onConsoleMessage(ConsoleMessage consoleMessage) { //獲取log的級(jí)別 switch (consoleMessage.messageLevel()){ case ERROR://將error信息上報(bào)到服務(wù)端 LogUtil.logE('webview==',consoleMessage.message()+' level='+ consoleMessage.messageLevel()); LogUtil.uploadH5Error(consoleMessage.message()); break; } return super.onConsoleMessage(consoleMessage);}
這個(gè)方法的作用就是* Report a JavaScript console message to the host application.,就是說(shuō)這個(gè)方法可以攔截JavaScript的console信息,就跟在瀏覽器里查看一樣;對(duì)于Android來(lái)說(shuō),在Android studio 的logcat里面就就可以查看,比如我讓h5隨便弄個(gè)undefined錯(cuò)誤,然后重寫(xiě)了js的log方法logcat輸出如下:
從輸出信息我們可以看到可以捕獲到行號(hào),錯(cuò)誤信息,錯(cuò)誤的URL。這些信息都在ConsoleMessage對(duì)象里。 其代碼如下:
可以看出ConsoleMessage里面也有l(wèi)og級(jí)別,我們只需要將error級(jí)別的日志上報(bào)即可。
到此這篇關(guān)于Android WebView監(jiān)聽(tīng)console錯(cuò)誤信息的文章就介紹到這了,更多相關(guān)Android WebView console錯(cuò)誤信息內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Intellij IDEA 2019 最新亂碼問(wèn)題及解決必殺技(必看篇)2. Android Manifest中meta-data擴(kuò)展元素?cái)?shù)據(jù)的配置與獲取方式3. css3溢出隱藏的方法4. JS繪圖Flot如何實(shí)現(xiàn)動(dòng)態(tài)可刷新曲線圖5. 未來(lái)的J2EE主流應(yīng)用框架:對(duì)比Spring和EJB36. Android自定義View實(shí)現(xiàn)掃描效果7. 關(guān)于HTML5的img標(biāo)簽8. ASP.NET MVC獲取多級(jí)類(lèi)別組合下的產(chǎn)品9. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫(huà)特效10. JS+css3實(shí)現(xiàn)幻燈片輪播圖
