最近公司要接入别的公司的产品,手机端决定用webview对详情进行展示。
原本以为应该是很简单的事,只需要用项目里面的webview加载网页就搞定了,动动小手,半天完成~美滋滋~。
然而。。事情并不简单
因为被接入的产品,自己有做单点登录,但是单点登录却不是正规的做法,所以我们需要在外面套一个壳。
也就是在html中,使用ajax进行一次页面登录,然后再进行详情的请求,利用登录后存在的cookie,直接展示详情。
完全没啥问题嘛,cookie什么的 我们也都已经做了呀,拿过来就用。
在PC上,一访问就进去了,然而在Android的webview上,结果就是 一直跳登录页,一直跳一直跳。。
这特么不是坑爹么。。在跟web前端死磕了半天后,我觉得问题可能出在我这边。但是 我 不 告 诉 他=。=。。
为了同步cookie,我决定把ajax的请求拿到原生里面做,获取cookie后,设置到webview中。
经过一段时间的捣鼓
成功了进入详情页面,虽然代码比较丑陋,还专门对这个详情页做了判断,但是能用了好歹
不满足现状。。继续上网查找,为什么第三方网页的cookie就是存不下来呢,其他的都能存下来。
终于找到一篇文章。这里贴一下,十分感谢。
https://blog.csdn.net/caixiaowang/article/details/73355922
```
CookieManager cookieManager = CookieManager.getInstance();
if (Build.VERSION.SDK_INT >21) {
cookieManager.setAcceptThirdPartyCookies(mWebView,true);
cookieManager.acceptThirdPartyCookies(mWebView);
}
```
就是这个代码。搞定了。