0

我有一个带有登录屏幕的 Android 应用程序。单击登录按钮后,我将启动一个带有传递给它的 cookie 的 web 视图。所以,我可以在 webview 中看到网页的内容。

但是当我点击加载的网页的链接时,请求失败并且从那里网页没有加载。如何传递 cookie 以便在登录后,我可以无情地遍历任意数量的网页。

4

2 回答 2

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);
于 2011-10-24T08:31:27.180 回答
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);
于 2011-10-24T07:35:46.700 回答