1. 程式人生 > >webView設定Cookie

webView設定Cookie

我們在android中訪問網路經常會用到Apache的HttpClient,用此類去訪問網路獲取資料,

但是在寫android介面的時候又時不時的會用到一些WebView元件,這時候訪問一個以經登入的頁面的時候cookie設定就有個問題

在HttpClient中儲存下來的Cookie怎麼設定到WebView元件裡,讓WebView也保持住Cookie狀態,也就是登入狀態呢?

CookieSyncManager和CookieManager就是做這種事的,下面來看程式碼裡怎麼設定Cookie讓WebView也保持登入狀態:

/** 
 * 同步一下cookie 
 */  
public
static void synCookies(Context context, String url) { CookieSyncManager.createInstance(context); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(true); cookieManager.removeSessionCookie();//移除 cookieManager.setCookie(url, cookies);//cookies是在HttpClient中獲得的cookie
CookieSyncManager.getInstance().sync(); }

在android裡面在呼叫webView.loadUrl(url)之前一句呼叫此方法就可以給WebView設定Cookie

注:這裡一定要注意一點,在呼叫設定Cookie之後不能再設定

webView.getSettings().setBuiltInZoomControls(true);  
webView.getSettings().setJavaScriptEnabled(true); 

這類屬性,否則設定Cookie無效。