如何将Cookie从Android应用程序传递到网页

时间:2011-10-24 05:37:29

标签: android cookies android-webview httpcookie

我有一个Android应用程序,它有一个登录屏幕。点击登录按钮后,我将启动一个带有cookie的webview。所以,我能够在webview中看到网页的内容。

但是当我点击加载的网页的链接时,请求就是faling,并且从那里开始没有加载网页。如何以这样的方式传递cookie:登录后,我可以无情地遍历任意数量的网页。

2 个答案:

答案 0 :(得分:1)

试试这个..

    WebView webview = new WebView(this);
    webview.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return super.shouldOverrideUrlLoading(view, url);
        }
    });

    CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(webview.getContext());
    cookieSyncManager.startSync();
    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.setAcceptCookie(true);
    cookieManager.removeSessionCookie();
    cookieManager.setCookie(URL, COOKIE);
    cookieSyncManager.sync();

    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl(URL);
    setContentView(webview);

答案 1 :(得分:0)

您不应该离开WebView。拦截链接并在您自己的WebView中加载URL

  WebView webview = new WebView(this);      
      webview.setWebViewClient(new WebViewClient() {  
          @Override  
          public boolean shouldOverrideUrlLoading(WebView view, String url)  
          {  
               view.loadUrl(url);  
               return true;  
          }  
        });                 
      setContentView(webview);      
      webview.loadUrl(yourUrl);