在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(); }