android - moto - HttpClient no almacena cookies en galaxy s2
cookies para android (2)
Estoy tratando de obtener datos de un servidor con este código
DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter(CoreProtocolPNames.USER_AGENT, USER_AGENT);
HttpRequestRetryHandler retryhandler = new DefaultHttpRequestRetryHandler(6, true);
httpClient.setHttpRequestRetryHandler(retryhandler);
BasicCookieStore cookieStore = new BasicCookieStore();
httpClient.setCookieStore(cookieStore);
if(Build.VERSION.SDK_INT>8){
CookieManager cookieManager = new CookieManager();
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(cookieManager);
}
HttpGet httpget = new HttpGet(URL);
HttpResponse response = httpClient.execute(httpget);
HttpEntity entity = response.getEntity();
...
Funciona bien con todos los dispositivos que probé hasta ahora excepto el Samsung Galaxy SII (Android 4.0.3) de mi cliente. Desde la respuesta del servidor, parece que las cookies de sesión no están almacenadas. Fallé en reproducir este error y todo lo que probé hasta ahora no lo resolvió. Tienes alguna pista ?
EDITAR: eliminó un bloque de código que deshabilitaba la política StrictMode (todavía tiene el problema)
Después de muchos intentos, encontré que BasicCookieStore no estaba agregando ninguna cookie, porque todas las cookies habían expirado por un motivo desconocido (y solo en S2). Tuve que crear mi propia implementación de CookieStore que ignora la verificación de fecha de caducidad. Esta es una solución temporal, todavía estoy investigando para encontrar una manera más segura y limpia de resolver esto.
Tuve un problema similar. El problema era el hecho de que mi teléfono estaba causando una fecha incorrecta para que todas las cookies estuvieran vacías.