1

当我执行以下代码时:

CookieSyncManager.createInstance(activity); 
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);

webView.setWebViewClient(new WebViewClient() {
    @Override
    public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, 
                            String host, String realm) {
        Log.d(Utils.TAG, "There are cookies: " + cookieManager.hasCookies());
        handler.proceed("user","pass");
    }
}
webView.loadurl("https://...");

在 JellyBean 上,我"There are cookies: true"在 Gingerbread 上得到"There are cookies: false"

似乎在 Gingerbread 上的 cookie(在这种情况下是一个)没有被 webView 保存,因此网页拒绝让我登录,因为在身份验证期间 cookie 没有在标头中传递。

使用时也会发生同样的情况CookieSyncManager

另外我不知道它是否相关,但代码是由 Fragment 使用Android Support Library.

以前有人遇到过这个问题吗?

谢谢。

4

0 回答 0