以下配置根据需求酌情添加,建议逐个试验,cookie操作不是内存操作,建议修改配置后卸载app再重新运行防止缓存影响测试结果。
1.设置应用程序的 WebView 实例是否应发送并接受 Cookie
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
2.设置支持js,cookie一般都是通过js写入
webView.getSettings().setJavaScriptEnabled(true);
3.在Android 4.4及以下的系统,webview是默认接收第三方cookie的。但是,从android 5.0开始,webview默认是不接受第三方cookie的
if(Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) {
CookieManager.getInstance().setAcceptThirdPartyCookies(mWebView,true);
}
4.允许跨域
// 允许跨域请求
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
webSettings.setAllowUniversalAccessFromFileURLs(true);
}else {
// 对于低于API 16的版本,使用如下方式
webSettings.setAllowUniversalAccessFromFileURLs(false);
}