我在這裏發現了一些關於這個問題的答案,但我沒有成功實現它們,所以希望有人可以檢查我的代碼並告訴我我在哪裏會錯的。DefaultHttpClient post獲取會話cookie並傳遞給WebView android
我已驗證我的Cookie是從DefaultHttpClient設置的,並且正在用Log.d寫出來,如您在下面的代碼段中所看到的。它就在那裏,它只是沒有被設置爲在這段代碼的底部被調用的WebView。傳遞的cookie是來自我的Asp.net mvc項目的會話cookie。任何想法爲什麼當WebView遇到該網站時不會讓我登錄?不要讓臉書的措辭丟掉你,我都在工作,這個cookie是爲我自己的服務器傳遞一個會話cookie,讓我登錄到我自己的網站(基於我的臉書的東西)。
Cookie sessionCookie = FacebookLoginService.cookie;
Log.d("intialwebview",sessionCookie.toString());
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
if (sessionCookie != null) {
cookieManager.removeSessionCookie();
String cookieString = sessionCookie.getName() + "=" + sessionCookie.getValue() + "; domain=" + sessionCookie.getDomain();
Log.d("intialwebview",cookieString);
cookieManager.setCookie(FacebookLoginService.cookie.getDomain(), cookieString);
CookieSyncManager.getInstance().sync();
}
//end cookie section
int userId = prefs.getInt(C.USER_ID, 0);
webView = (WebView) findViewById(R.id.web_view);
webView.getSettings().setUserAgentString(webView.getSettings().getUserAgentString() + "(Rambo)");
webView.getSettings().setJavaScriptEnabled(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.loadUrl(C.BaseUrl + "home/firstpage");
編輯:我也試過在代碼創建Web視圖:
WebView webView = new WebView(this);
相同的結果。 Cookie未被髮送到網絡視圖。
嗨克里斯托弗,我得到同樣的問題。最後一天它在android 4.1.2上正常工作。今天它不適用於4.0.3。 我遵循相同的程序。任何幫助? – Darpan