2013-06-21 4 views
20

как включить cookies в веб-просмотре?Как включить cookies в android webview?

я пытался использовать

CookieManager.getInstance().setAcceptCookie(true); 

непосредственно перед вызовом WebView.loadUrl() и он не работает, как я получаю сообщение об ошибке HTML-страницы с веб-сайта, говоря куки должны быть включены.

Что я не понимаю, как cookieManager знает, какой веб-просмотр разрешает куки?

сказать, если у меня была активность с двумя веб-просмотрами на экране, и я только хотел, чтобы одно из этих веб-просмотров включало файлы cookie, как это возможно с помощью CookieManager?

Я чувствую, что у меня что-то не хватает? я не мог найти способ, как webView.setCookieManager или Cookiemanager.setWebView (WebView)

Благодаря

ответ

24

CookieManager.getInstance() является CookieManager экземпляр для всего приложения. Следовательно, вы включаете или отключите файлы cookie для всех веб-просмотров в вашем приложении.

Обычно он должен работать, если WebView уже инициализирован: http://developer.android.com/reference/android/webkit/CookieManager.html#getInstance()

Может быть, вы звоните CookieManager.getInstance().setAcceptCookie(true);, прежде чем инициализировать WebView и это проблема?

+1

ура. работает теперь после выполнения кода после i loadUrl – jonney

+0

Моя проблема заключается в том, что веб-просмотр не отправляет cookie, уже живущий в магазине. Как сделать веб-просмотр отправкой cookie? Я инициализирую webview после 'CookieManager.getInstance(). SetAcceptCookie (true);' Я что-то упустил? – 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); 
} 
Смежные вопросы