2013-12-09 23 views
5

Sorunum, yönlendirmeler ve özel çerezler ile ilgili WebView ile ilgilidir.Android WebView Yönlendirmelerde Çerezleri kaybetme

Ben aşağıdakileri yapın:

  1. oluşturma uygulamasında CookieSyncManager ve CookieManager örnekleri util sınıfında statik bölümünde
  2. Çağrısı sCookieManager.setAcceptCookie(true); oluşturmak
  3. Çağrı sCookieManager.setCookie(url, value); sCookieSyncManager.sync();
  4. Ve nihayet mWebView.loadUrl

Wh Sunucu tarafında olmanın nedeni, ilk olarak ayarladığım doğru çerezi alması, biraz yönlendirme çalıştırması ve çerezin kaybolması gibi görünüyor. Herhangi bir fikir, burada ne yapıyorum?

setCookie - sync'u başka bir iş parçacığında çalıştırmayı denedim ve daha sonra loadUrl, ancak yardımcı olmadı.

Benzer tüm iletiler, çalışmayan çözümlere sahip gibi görünüyor.

Teşekkürler.

GÜNCELLEME:

Ben setCookie kullanarak örneğin gibi birden Çerezler vermek için fark: Sadece ilk uygulandığı

setCookie("MyCookie=value; Domain=mydomain.com; Path=/; Secure; HttpOnly; MySecondCookie=value2....)" 

ve sunucu çalışır onu kendi etki alanında yönlendirme yaptığında o zaman gitti. Bu sorun, bir döngüde bir defada özel çerezler ayarları sabitlenebilir. Güvenli kurabiye ve geçersiz sertifika zincirleri arasında bir bağlantı olabileceğini

geçici olarak onReceivedSslError içinde handler.proceed(); ekledik ve bunu web sitesi yönlendirir ve Çerez sonraki sayfalarda onPageFinished üzerinde kaybolur hemen önce tetikleyen günlüklerinden görebilir?

sCookieManager.setCookie(url, value) 

ama

sCookieManager.setCookie(cookieDomain, value) 

cookieDomain Eğer krom kullanılarak örneğin bulabilirsiniz değil kullanılarak

+0

Karşılıklı: //

Çalışma örneği incelemek aynı sorun ? Buna bir çözüm buldun mu? –

cevap

0

Dene:

String cookieDomain = ".www.drive2.ru"; 
String siteUrl = "https://drive2.ru"; 

webView = (WebView) getView().findViewById(R.id.web_view); 
webView.setWebViewClient(new WebViewClient()); // force open any new url in same webview (whether it is user click or redirect) 

CookieManager cookieManager = CookieManager.getInstance(); 
cookieManager.setAcceptCookie(true); 
cookieManager.setCookie(cookieDomain, "cookieName=cookieValue"); 
webView.loadUrl(siteUrl);