Обнаружил это тоже тоже. Вот что я сделал.
В моей учетной записи LoginActivity, внутри AsyncTask, у меня есть следующее:
CookieStoreHelper.cookieStore = new BasicCookieStore();
BasicHttpContext localContext = new BasicHttpContext();
localContext.setAttribute(ClientContext.COOKIE_STORE, CookieStoreHelper.cookieStore);
HttpResponse postResponse = client.execute(httpPost,localContext);
CookieStoreHelper.sessionCookie = CookieStoreHelper.cookieStore.getCookies();
// WHERE CookieStoreHelper.sessionCookie - это другой класс, содержащий переменную sessionCookie, определенную как List cookies; и cookieStore определяют как BasicCookieStore cookieStore;
Затем в моем фрагменте, где находится мой WebView, у меня есть следующее:
//DECLARE LIST OF COOKIE
List<Cookie> sessionCookie;
внутри моего метода или непосредственно перед настройкой WebViewClient ()
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
sessionCookie = CookieStoreHelper.cookieStore.getCookies();
CookieSyncManager.createInstance(webView.getContext());
CookieSyncManager.getInstance().startSync();
CookieManager cookieManager = CookieManager.getInstance();
CookieManager.getInstance().setAcceptCookie(true);
if (sessionCookie != null) {
for(Cookie c: sessionCookie){
cookieManager.setCookie(CookieStoreHelper.DOMAIN, c.getName() + "=" + c.getValue());
}
CookieSyncManager.getInstance().sync();
}
webView.setWebViewClient(new WebViewClient() {
//AND SO ON, YOUR CODE
}
Быстрый совет: установите firebug на firefox или используйте консоль разработчика на chrome и протестируйте сначала свою веб-страницу, захватите Cookie и проверьте домен, чтобы вы могли его где-то сохранить и убедиться, что вы правильно настраиваете правильный домен.
Редактировать: отредактировано CookieStoreHelper.cookies в CookieStoreHelper.sessionCookie