2013-06-21 12 views
20

come abilitare i cookie in una visualizzazione Web?Come abilitare i cookie nella webview di Android?

Ho cercato di usare

CookieManager.getInstance().setAcceptCookie(true); 

poco prima di chiamare WebView.loadUrl() e non funziona come ottengo un errore di pagina html da un sito web dicendo cookie devono essere abilitati.

Quello che non capisco è come fa cookieManager a sapere quale webview abilitare i cookie?

dire se ho avuto un'attività con due webviews sullo schermo e volevo solo una di quelle webviews per abilitare i cookie, come è possibile utilizzare un CookieManager?

mi sento come se mi mancasse qualcosa? non riuscivo a trovare un metodo come webView.setCookieManager o Cookiemanager.setWebView (WebView)

Grazie

risposta

24

CookieManager.getInstance() è la CookieManager istanza per l'intera applicazione. Quindi, si abilitano o disabilitano i cookie per tutte le visualizzazioni Web nell'applicazione.

Normalmente dovrebbe funzionare se il WebView è già inizializzato: http://developer.android.com/reference/android/webkit/CookieManager.html#getInstance()

Forse si chiamano CookieManager.getInstance().setAcceptCookie(true); prima di inizializzare il vostro WebView e questo è il problema?

+1

evviva. funziona subito dopo aver eseguito il codice dopo che ho caricato Url – jonney

+0

Il mio problema è che la webview non invia il cookie già presente nel negozio. Come si fa a fare la webview per inviare il cookie? Sto inizializzando la webview dopo 'CookieManager.getInstance(). SetAcceptCookie (true);' Mi manca qualcosa? – kalehv

1

Si dovrebbe considerare che

CookieManager.getInstance().setAcceptCookie(true); 

non funziona da lecca-lecca (API21) e fino. Si dovrebbe verificare e utilizzare la funzione appropriata per quel caso:

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