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