Есть ли способ загрузить файл из ведра S3 с помощью Android DownloadManager?Загрузить файл apk с S3 с помощью DownloadManager
Я в настоящее время скачать файл из Dropbox АПК делает это:
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.addRequestHeader("Content-Type", "application/vnd.android.package-archive");
request.setMimeType("application/vnd.android.package-archive");
final DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
final long id = manager.enqueue(request);
Теперь то, что я хочу сделать, это заменить «URL» с моей URL Amazon. Когда я это делаю, загрузка просто остается на 0% и просто застревает там.
Есть ли способ сделать это?
Кстати, URL-адрес Amazon, который я передаю, содержит параметры AWSAccessKeyId
, Expires
и Signature
. URL-адрес выглядит так:
https://bucket-name.s3-us-west-2.amazonaws.com/uploads/app/apk/22/app.apk?AWSAccessKeyId=""&Expires=""&Signature=""
Вы пробовали простой HTTP вместо HTTPS? Вы пытались получить доступ к URL-адресу в приложении веб-браузера на устройстве или эмуляторе, на котором вы тестируете? Пробовали ли вы URL-адрес для общедоступного ресурса (т. Е. Тот, который не требует какого-либо из этих параметров запроса)? Это всего лишь некоторые идеи, чтобы немного уменьшить проблему. – CommonsWare
@CommonsWare Я просто попробовал некоторые из предложенных вами вещей. Загрузка выполняется, если я нажму кнопку «сделать общедоступной» в файле в своем ведре S3. Это устраняет необходимость в параметрах. Поэтому я предполагаю, что проблема связана с моими учетными данными AWS? Файл загружается в моем браузере на моем компьютере, хотя с учетными данными в ссылке. – theDazzler
«Итак, я предполагаю, что проблема связана с моими учетными данными AWS?» - Я никогда не пробовал URL с параметрами запроса с помощью 'DownloadManager'. Я бы подумал, что 'DownloadManager' будет поддерживать его. Взгляните на анализируемые 'Uri' и такие вещи, как' getQuery() 'или' getQueryParameters() 'и убедитесь, что ваши значения не скремблируются где-то на этом пути. – CommonsWare