今天遇到一个很奇葩的问题,把web项目打包到Android的assets使用
mWebView.loadUrl("file:///android_asset/index.html");
加载后每次登录都有服务器返回的Response Headers 都有set-cookie,但是始终不给你设置进Request Headers的Cookie。
经过多方查证,前后端反复确认,后来得出结论
Chrome浏览器因为安全原因,Android5.0以后默认禁用加载本地网页cookies的使用,所以我们要加上下面的设置
if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
CookieManager.getInstance().setAcceptThirdPartyCookies(mWebView, true);
}
mWebView.loadUrl("file:///android_asset/index.html");
问题就解决了。