Используйте DownloadManager для загрузки с URL-адреса, доступного через DefaultHttpClient - PullRequest
1 голос
/ 28 ноября 2011

В моем приложении для Android я должен загружать файлы с URL-адресов. Я использую Android DownloadManager, но URL-адреса доступны только через DefaultHttpClient. Фактически, эти URL являются результатом нескольких POST запросов. Я имею в виду: мне разрешено загружать файлы, только если я вошел как пользователь. Может ли кто-нибудь помочь мне справиться с этой ситуацией? Я думаю, что невозможно использовать DM для загрузки файлов, поставив непосредственно ссылку на запрашиваемый ресурс. Когда мне нужно загрузить файл, там уже активен DefaultHttpClient, и я вошел в систему. Я использую следующий код:

dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Request request = new Request(Uri.parse(client.HttpsGet(url));
enqueue = dm.enqueue(request);

HttpsGet - это метод моего пользовательского класса HttpsClient, который выполняет HTTP GET. В этом случае я получаю файл, закодированный в текст (например, если я открываю PDF с помощью блокнота). Если я напрямую укажу URL файла (без вызова HttsGet), устройства загрузят пустой файл.

1 Ответ

0 голосов
/ 02 декабря 2011

для потомков ...

Я решил свою проблему благодаря этой теме: Как загрузить файл с логином, используя HttpURLConnection

Но мне пришлось отказаться от DownloadManager

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...