在Android應用程序中常常會加載一個WebView頁,若是須要客戶端向WebView傳遞信息,好比Cookie,也是能夠的。java
須要應用程序先將Cookie注入進去,打開該網頁時,WebView會將加載的url經過http請求傳輸到服務器。同時,在此次請求中,會將Cookie信息經過http header傳遞過去。web
流程以下:數據庫
一、客戶端經過如下代碼設置cookie服務器
public static void synCookies(Context context, String url) { CookieSyncManager.createInstance(context); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setCookie(url, "uid=1243432"); CookieSyncManager.getInstance().sync(); }
二、CookieManager會將這個Cookie存入該應用程序/data/data/databases/目錄下的webviewCookiesChromium.db數據庫的cookies表中
cookie
三、打開網頁,WebView從數據庫中讀取該cookie值,放到http請求的頭部,傳遞到服務器ui
四、客戶端能夠在註銷登陸時清除該應用程序用到的全部cookiesurl
private void removeCookie(Context context) { CookieSyncManager.createInstance(context); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.removeAllCookie(); CookieSyncManager.getInstance().sync(); }