PS:我的风格不是总结最全面的,是碰到一个记录一个,莫怪 ~ 相信总有一款适合你 ~
Android WebView基本使用配置
Android WebView 使用详解
1、5.0以上http 和https混合问题
if (Build.VERSION.SDK_INT >= 21) {
websetting.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
2、webView 防漏洞
//webView 漏洞防护
mWebView.getSettings().setAllowFileAccess(false);
mWebView.getSettings().setAllowFileAccessFromFileURLs(false);
mWebView.getSettings().setAllowUniversalAccessFromFileURLs(false);
ps:这样设置之后 fiddler 或者charles 就抓不到Android 7.0 的请求了,需要另外配置
网络安全性配置
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
#network_security_config.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates
src="system"
overridePins="true" />
<certificates
src="user"
overridePins="true" />
</trust-anchors>
</base-config>
</network-security-config>
3、webView 清除history
webView.setWebViewClient(new WebViewClient() {
@Override
public void doUpdateVisitedHistory(WebView view, String url, boolean isReload) {
super.doUpdateVisitedHistory(view, url, isReload);
if (needClearHistory) {
needClearHistory = false;
view.clearHistory();//清除历史记录
}
}
});