android webview里获取和设置cookie

private class MyWebViewClient extends WebViewClient {

        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            webview.loadUrl(url);
            return true;
        }

        public void onPageFinished(WebView view, String url) {
            CookieManager cookieManager = CookieManager.getInstance();
            String CookieStr = cookieManager.getCookie(url);
            Log.e("sunzn", "Cookies = " + CookieStr);
            super.onPageFinished(view, url);
        }

    }




  1. /** 
  2.  * 同步一下cookie 
  3.  */  
  4. public static void synCookies(Context context, String url) {  
  5.     CookieSyncManager.createInstance(context);  
  6.     CookieManager cookieManager = CookieManager.getInstance();  
  7.     cookieManager.setAcceptCookie(true);  
  8.     cookieManager.removeSessionCookie();//移除  
  9.     cookieManager.setCookie(url, cookies);//cookies是在HttpClient中获得的cookie  
  10.     CookieSyncManager.getInstance().sync();  
  11. }  

在android里面在调用webView.loadUrl(url)之前一句调用此方法就可以给WebView设置Cookie 

注:这里一定要注意一点,在调用设置Cookie之后不能再设置
Java代码  收藏代码
  1. webView.getSettings().setBuiltInZoomControls(true);  
  2. webView.getSettings().setJavaScriptEnabled(true);  

这类属性,否则设置Cookie无效。
原文地址:https://www.cnblogs.com/lucktian/p/5438696.html