Android - How do I pass a cookie to load a webview URL?

I need to load url in webview with sending some cookies. HOw to achieve this?

I am doing the following code.

CookieManager cookieManager; CookieSyncManager.createInstance(PrivacyActivity.this); cookieManager = CookieManager.getInstance(); cookieManager.setCookie("param", "value"); CookieSyncManager.getInstance().sync(); WebSettings webSettings = wv.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setBuiltInZoomControls(true); wv.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return super.shouldOverrideUrlLoading(view, url); } }); wv.loadUrl("https://example.com"); 

But the correct result does not work. Just by receiving https://example.com "as it is. Cookie does not work.

+6
source share
2 answers

I solved the problem as ,,,

  WebView webview = (WebView) this.findViewById(R.id.wv_file); final WebSettings settings = webview.getSettings(); settings.setJavaScriptEnabled(true); settings.setAppCacheEnabled(true); settings.setBuiltInZoomControls(true); settings.setPluginState(WebSettings.PluginState.ON); webview.setWebChromeClient(new WebChromeClient()); CookieSyncManager.createInstance(ActivityName.this); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.removeSessionCookie(); String cookieString = "param=value"; cookieManager.setCookie(domain_of_url("like http://abc-site.com"), cookieString); CookieSyncManager.getInstance().sync(); Map<String, String> abc = new HashMap<String, String>(); abc.put("Cookie", cookieString); webview.loadUrl("http://abc-site.com/a1/namedFolder/file", abc); 
+6
source

This solution works for me (just add cookies to CookieManager before loading url and that’s it):

 WebView webview = (WebView) findViewById(R.id.webview); ... CookieManager.getInstance().setCookie("http://example.com/", "key=value"); webview.loadUrl("http://example.com/"); 
+6
source

All Articles