Hola usuario de nuestra página web, hemos encontrado la respuesta a tu interrogante, has scroll y la obtendrás más abajo.
Solución:
Ohh, después de varias horas, finalmente lo descubrí para que funcionara. En primer lugar, CookieSyncManager está obsoleto en la versión posterior de Android desde api 21 según doc. Así que decidió no usarlo más. En segundo lugar, CookieManager se utiliza para almacenar cookies para WebView.
Código definitivo
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
List cookies = WSHelper.cookieStore.getCookies();
cookieManager.removeAllCookie();
if (cookies != null)
for (Cookie cookie : cookies)
if (cookie.getName().contains("session"))
String cookieString = cookie.getName() + "=" + cookie.getValue() + "; Domain=" + cookie.getDomain();
cookieManager.setCookie(cookie.getDomain(), cookieString);
Log.d("CookieUrl",cookieString + " ");
webView.loadUrl(url);
El key cambios a la solución es: uso cookie.getDomain() en lugar de dominio explícito.
cookieManager.setCookie(cookie.getDomain(), cookieString);
Pruebe este código, después de algunos cambios funciona para mí:
public class WebViewActivity extends Activity
private SharedPreferences mPreferences;
String token="";
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.webviewpage);
mPreferences = getSharedPreferences("CurrentUser", MODE_PRIVATE);
public void LaunchWebView(View view)
WebView myWebView = (WebView) findViewById(R.id.myWebView);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setSaveFormData(false);
CookieSyncManager.createInstance(this);
CookieSyncManager.getInstance().startSync();
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
CookieManager.getInstance().setAcceptThirdPartyCookies(myWebView, true);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String token2= mPreferences.getString("auth_token","");
HashMap map = new HashMap();
map.put("x-auth-token", token);
myWebView.getSettings().setAppCacheEnabled(true);
myWebView.setWebViewClient(new WebViewClient()
public boolean shouldOverrideUrlLoading(WebView view,String url)
view.loadUrl(url);
return true;
);
myWebView.loadUrl("YOUR_URL", map);
Tienes la posibilidad comunicar esta crónica si te fue de ayuda.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)