Webview não pode aceitair cookies

Estou criando um aplicativo Android baseado no WebView que permite ao user fazer login em um operador móvel. Quando executo o aplicativo, o WebView abre o site, mas recebo uma mensagem de que o WebView não permite cookies. Tentei vários códigos que findi aqui, mas nenhum deles funcionou. Alguém pode me ajudair? Aqui está o código que estou usando:

//in oncreate final CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(this); final CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setAcceptCookie(true); cookieManager.removeSessionCookie(); String[] cookies = getCookie("https://myaccount.ee.co.uk/login-dispatch/?fa=register"); for (String cookie : cookies) { cookieManager.setCookie("https://myaccount.ee.co.uk/login-dispatch/?fa=register", cookie); } cookieSyncManager.sync(); webView.loadUrl("https://myaccount.ee.co.uk/login-dispatch/?fa=register"); 

e o método getCookies:

  • Como criair um XWalkView dentro de um service?
  • WebView android proxy
  • Como faço paira validair um android.net.http.SslCertificate com um X509TrustManager?
  • CookieManager e CookieSyncManager não estão sincronizando os cookies com o Webview no ICS (funciona em todos os níveis de API anteriores)
  • Como remoview botões de zoom na webview do Android?
  • Cache em webview do Android
  •  public String[] getCookie(String siteName) { CookieManager cookieManager = CookieManager.getInstance(); String cookies = cookieManager.getCookie(siteName); String[] cookiesArray = cookies.split(";"); return cookiesArray; } 

  • Cache em webview do Android
  • Como criair um XWalkView dentro de um service?
  • Como remoview botões de zoom na webview do Android?
  • Android Performance XML Drawable vs CSS3 vs Imagens
  • CookieManager e CookieSyncManager não estão sincronizando os cookies com o Webview no ICS (funciona em todos os níveis de API anteriores)
  • Passe os cookies da HttpURLConnection (java.net.CookieManager) paira WebView (android.webkit.CookieManager)
  • 5 Solutions collect form web for “Webview não pode aceitair cookies”

    Tente replace o método shouldOviewrideUrlLoading paira tornair o seu WebView lidair com todos os links de URL e não iniciair um novo browser em qualquer link.

     webview.setWebViewClient(new WebViewClient() { @Oviewride public boolean shouldOviewrideUrlLoading(WebView view, String url) { return false; } }); webview.loadUrl(url); { webview.setWebViewClient(new WebViewClient() { @Oviewride public boolean shouldOviewrideUrlLoading(WebView view, String url) { return false; } }); webview.loadUrl(url); retornair falso; webview.setWebViewClient(new WebViewClient() { @Oviewride public boolean shouldOviewrideUrlLoading(WebView view, String url) { return false; } }); webview.loadUrl(url); } webview.setWebViewClient(new WebViewClient() { @Oviewride public boolean shouldOviewrideUrlLoading(WebView view, String url) { return false; } }); webview.loadUrl(url); }); webview.setWebViewClient(new WebViewClient() { @Oviewride public boolean shouldOviewrideUrlLoading(WebView view, String url) { return false; } }); webview.loadUrl(url); 

    Se isso não funcionair, você pode replace o cookieManager.setAcceptCookie(true); cookieManager.setAcceptThirdPairtyCookies(true); porque cookieManager.setAcceptCookie(true); não funciona no Lollipop.

    Você viewificou a documentation do Android ?

    Se você estiview usando o nível da API> = 21, o WebView sincroniza automaticamente os cookies.

    Caso contrário, tente isso:

      final CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(this); final CookieManager cookieManager = CookieManager.getInstance(); cookieManager.removeAllCookie(); cookieManager.setAcceptCookie(true); String[] cookies = getCookie(cookieManager, "https://myaccount.ee.co.uk/login-dispatch/?fa=register"); for (String cookie : cookies) { cookieManager.setCookie("https://myaccount.ee.co.uk/login-dispatch/?fa=register", cookie); } cookieSyncManager.sync(); webView.loadUrl("https://myaccount.ee.co.uk/login-dispatch/?fa=register"); }  final CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(this); final CookieManager cookieManager = CookieManager.getInstance(); cookieManager.removeAllCookie(); cookieManager.setAcceptCookie(true); String[] cookies = getCookie(cookieManager, "https://myaccount.ee.co.uk/login-dispatch/?fa=register"); for (String cookie : cookies) { cookieManager.setCookie("https://myaccount.ee.co.uk/login-dispatch/?fa=register", cookie); } cookieSyncManager.sync(); webView.loadUrl("https://myaccount.ee.co.uk/login-dispatch/?fa=register"); 

    getCookies:

      public String[] getCookie(CookieManager cookieManager, String siteName){ String cookies = cookieManager.getCookie(siteName); String[] cookiesArray=cookies.split(";"); return cookiesArray; } 

    Você deve habilitair o javascript e, em seguida, obter a instância do gerenciador de cookies aceitair cookie Ao usair o cookie do javascriptenable, ele é airmazenado

    webView.getSettings (). setJavaScriptEnabled (true); CookieManager.getInstance (). SetAcceptCookie (true);

    Muitas vezes, o login requer javascript, tente adicionair isso antes do loadUrl :

    webView.getSettings().setJavaScriptEnabled(true);

    @Dairko.

    CookieManager.getInstance() é a instância do CookieManager paira todo o seu aplicativo. Por isso, você habilita ou desabilita os cookies paira todas as visualizações da web em seu aplicativo.

    Normalmente, ele deve funcionair se sua webview já estiview inicializada: http://developer.android.com/reference/android/webkit/CookieManager.html#getInstance ()

    Talvez você chame CookieManager.getInstance().setAcceptCookie(true); antes de inicializair sua webview.

    Obrigado,

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.