我正在尝试在我的WebView
上设置一些cookie,以便使用与我的应用程序相同的会话打开浏览器。
我阅读了很多答案,但它们对我没用。我找到的唯一解决方案是在loadUrl
中,在extraHeaders
中硬编码cookie数据,但是如预期的那样,这仅适用于该请求,并且不保持会话。
我目前的代码是:
CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(mWebView.getContext());
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.removeSessionCookie();
cookieManager.setCookie("http://xx.xxx.example.com","mid="+MySession.GetSession().sessionId+" ; Domain=.example.com");
cookieSyncManager.sync();
String cookie = cookieManager.getCookie("http://xx.xxx.example.com");
Log.d(LOGTAG, "cookie ------>"+cookie);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new TuWebViewClient());
mWebView.loadUrl("http://xx.xx.example.com");
getCookie()
返回正确的数据,但是当我从服务器读取cookie时,这些cookie为空。有什么问题吗?请给予建议。
谢谢!