Estoy usando la API de Android DownloadManager
para descargar archivos del servidor de mi escuela. Tengo permiso para acceder a estos archivos con un inicio de sesión, pero lo que no he podido averiguar es cómo enviar cookies con mi DownloadManager.Request
El código de descarga está debajo. dm
es un DownloadManager
global, y url
es un script de descarga php que redirige a un archivo, generalmente pdf/doc/etc.¿Es posible enviar cookies en un DownloadManager de Android?
dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Request request = new Request(Uri.parse(url));
dm.enqueue(request);
Intent i = new Intent();
i.setAction(DownloadManager.ACTION_VIEW_DOWNLOADS);
startActivity(i);
Esto funciona bien, pero obtengo un archivo html descargado, que es la página de inicio de sesión del sitio web de mi escuela. Obviamente, tengo que enviar las cookies de la sesión del usuario de alguna manera, pero no veo ninguna forma de hacerlo en la documentación.
Eso funcionó perfectamente. Ya estaba administrando las cookies manualmente en un 'Map' así que era tan simple como formatear eso como 'KEY1 = VALUE1; KEY2 = VALUE2;' y pasándolo a la función que mencionaste. ¡Gracias! –
Logiraptor
Esto es simplemente perfecto: he recorrido otras pocas carreteras, ¡pero esto lo ha encasillado! Recibo mis cookies de en PageFinished llamando a "CookieManager.getInstance(). GetCookie (url);" ¡y luego puedo usar el resultado directamente como valores de Cookie! – slott