2013-06-21 14 views
20

Jak włączyć obsługę plików cookie w widoku przeglądarki?Jak włączyć obsługę plików cookie w przeglądarce internetowej na Androida?

Próbuję użyć

CookieManager.getInstance().setAcceptCookie(true); 

tuż przed wywołaniem WebView.loadUrl() i nie robi praca jak pojawia się błąd strony HTML ze strony internetowej mówiąc cookie muszą być włączone.

Czego nie rozumiem, to w jaki sposób cookieManager wie, która strona internetowa umożliwia włączenie obsługi plików cookie?

Powiedz, że gdybym miał aktywność z dwoma odsłonami na ekranie, a ja chciałem tylko jedną z tych stron, aby włączyć obsługę plików cookie, jak to możliwe, używając CookieManager?

Czuję, że czegoś brakuje? I nie mógł znaleźć sposobu jak webView.setCookieManager lub Cookiemanager.setWebView (WebView)

Dzięki

Odpowiedz

24

CookieManager.getInstance() jest CookieManager wystąpienie dla całej aplikacji. W związku z tym włączasz lub wyłącza pliki cookie dla wszystkich w swojej aplikacji.

Normalnie powinno działać, jeśli WebView jest już zainicjowany: http://developer.android.com/reference/android/webkit/CookieManager.html#getInstance()

Może zadzwonisz CookieManager.getInstance().setAcceptCookie(true); zanim zainicjować webview i to jest problem?

+1

okrzyki. działa teraz po wykonaniu kodu po i loadUrl – jonney

+0

Mój problem polega na tym, że przeglądarka nie wysyła pliku cookie już istniejącego w sklepie. Jak sprawić, by przeglądarka internetowa wysłała plik cookie? Inicjuję webview po 'CookieManager.getInstance(). SetAcceptCookie (true);' Czy brakuje mi czegoś? – kalehv

1

Należy uznać, że

CookieManager.getInstance().setAcceptCookie(true); 

nie działa z lizakiem (API21) i do góry. Powinieneś sprawdzić i użyć odpowiedniej funkcji dla tego przypadku:

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