开发webview,遇到一个大问题,我把这个问题分享给大家,希望对你有所帮助(菜鸟一枚,莫怪)
在使用原声的webview的时候,有些时候明明在Android4.4及其以上版本中正常加载显示,但在低于4.4版本中却发生了路由跳转,显示的页面不是我们希望得到的页面。
比如说:
url=“http://****/business-mobile/#/prepare/myPrepare/index?os=ANDROID&userId=****”
但在webview.loadUrl(url)后,却发生了webview.getUrl()=“http://****/business-mobile/#/",后台也没有报错,这就有点小尴尬了。
通过https://blog.csdn.net/g984160547/article/details/73275379这篇文章,我了解了原来Android webview在4.4版本后底层内核不同了,于是我有开始验证,通过浏览器发现使用手机自带的浏览器加载出来的网页和第三方浏览器加载出来页面果然不一样,在Android4.3版本手机上本身自带浏览器加载上面的url=“http://****/business-mobile/#/prepare/myPrepare/index?os=ANDROID&userId=****”就会发生错误,url地址会被自动修改(产生路由),而第三方浏览器就显示正确结果。
找到原因后就开始解决了:
解决办法:使用第三方sdk替换Android原生sdk中部分类。我使用的是腾讯X5.
Android studio配置腾讯X5请参考腾讯官网,按照他的步骤基本没错。
最后感谢腾讯提供如此好的插件,还有各位网友支持,如有侵权,请联系我。