2013-06-21 75 views
20

如何在webview中啓用cookie?如何在android webview中啓用cookie?

我試圖打電話只是WebView.loadUrl()之前使用

CookieManager.getInstance().setAcceptCookie(true); 

,它不工作,我從一個網站說餅乾需要啓用獲得一個html頁面錯誤。

我不明白的是cookieManager如何知道哪個webview啓用cookie?

說如果我在屏幕上有兩個網頁瀏覽的活動,我只希望其中一個網頁瀏覽啓用cookie,那麼如何使用CookieManager來實現?

我覺得我錯過了什麼?我找不到像webView.setCookieManager或Cookiemanager.setWebView(web視圖)的方法

感謝

回答

24

CookieManager.getInstance()是整個應用程序的CookieManager實例。 因此,您可以在您的應用程序中啓用或禁用所有的網頁瀏覽量的的Cookie。

通常情況下它應該工作,如果你的網頁流量已經被初始化: http://developer.android.com/reference/android/webkit/CookieManager.html#getInstance()

也許你叫CookieManager.getInstance().setAcceptCookie(true);你初始化的WebView之前,這是什麼問題?

+1

歡呼聲。現在運行後,我loadUrl – jonney

+0

後執行代碼我的問題是,web視圖不會發送已存在於商店的cookie。你如何讓webview發送cookie?我在'CookieManager.getInstance()。setAcceptCookie(true);之後初始化webview;'我錯過了什麼? – kalehv

1

您應該考慮到

CookieManager.getInstance().setAcceptCookie(true); 

不從棒棒糖(API21)和後續工作。您應該檢查並使用適當的功能:

if (android.os.Build.VERSION.SDK_INT >= 21) { 
    CookieManager.getInstance().setAcceptThirdPartyCookies(mWebVIew, true); 
}else { 
    CookieManager.getInstance().setAcceptCookie(true); 
}