WebView cookie 管理

Android應用程序中常常會加載一個WebView頁,若是須要客戶端向WebView傳遞信息,好比Cookie,也是能夠的。web

須要應用程序先將Cookie注入進去,打開該網頁時,WebView會將加載的url經過http請求傳輸到服務器。同時,在此次請求中,會將Cookie信息經過http header傳遞過去。數據庫

    流程以下:服務器

    一、客戶端經過如下代碼設置cookiecookie

public static void synCookies(Context context, String url) {  
	    CookieSyncManager.createInstance(context);  
	    CookieManager cookieManager = CookieManager.getInstance();  

cookieManager.setAcceptCookie(true);
            cookieManager.removeSessionCookie();// 移除
            cookieManager.setCookie(url, "uid=1243432");        
  CookieSyncManager.getInstance().sync();  
}

   二、CookieManager會將這個Cookie存入該應用程序/data/data/databases/目錄下的webviewCookiesChromium.db數據庫的cookies表中ui

   三、打開網頁,WebView從數據庫中讀取該cookie值,放到http請求的頭部,傳遞到服務器url

   四、客戶端能夠在註銷登陸時清除該應用程序用到的全部cookies.net

private void removeCookie(Context context) {
		CookieSyncManager.createInstance(context);  
		CookieManager cookieManager = CookieManager.getInstance(); 
		cookieManager.removeAllCookie();
		CookieSyncManager.getInstance().sync();  
	}
相關文章
相關標籤/搜索