在项目中需要设置WebView的UserAgent来上报本机信息,包括app版本等,以控制WebView不同版本显示的内容。但是有时候WebView界面会紊乱,原因是UserAgent没设置成功。
跟了下代码,发现开始时相关代码如下:
<span style="white-space:pre"> </span>mWebView.loadUrl(interceptedUrl, getHeaders());
mWebView.getSettings().setUserAgentString(Global.getUserAgent());
在这两行代码中间执行该代码:
mWebView.getSettings().getUserAgentString();
就会发现,其实,我们自己的UserAgent在loadUrl时没设置成功。使用的还是WebView默认的userAgent.
解决办法:调换下两行代码的位置。
mWebView.getSettings().setUserAgentString(Global.getUserAgent());
mWebView.loadUrl(interceptedUrl, getHeaders());