android webview里获取和设置cookie

时间:2023-03-08 21:35:28
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之后不能再设置
  1. webView.getSettings().setBuiltInZoomControls(true);
  2. webView.getSettings().setJavaScriptEnabled(true);
这类属性,否则设置Cookie无效。