#android #download
#Android #Скачать
Вопрос:
В моем приложении есть строка, содержащая URL-адрес файла, обычно что-то вроде документа Word или файла PDF. Я хочу предоставить пользователю способ загрузить файл таким же образом, как если бы они нажали на ссылку в браузере (позволяя браузеру сохранять его в расположении по умолчанию и т.д.).
На данный момент я делаю это, запуская намерение ACTION_VIEW. В большинстве случаев это работает, но с этим связано несколько проблем. Часто окно браузера пытается отобразить сообщение, которое по какой-то причине немедленно исчезает и не может быть прочитано. Иногда загрузка завершается неудачно, и я не могу это обнаружить. Если это удастся, все, что пользователь действительно видит, это маленький значок в верхней строке состояния, который он должен знать, чтобы искать.
Есть ли лучший способ сделать это? Какой-нибудь способ запустить специальное действие ЗАГРУЗКИ вместо вызова всего браузера?
Могу ли я сам загрузить файл в своем собственном коде, а затем каким-то образом заставить его оказаться в том же месте, как если бы браузер загрузил его?
Спасибо.
Ответ №1:
Вы можете загрузить его с вашим собственным кодом и поместить в Download folder на SD-карте. В качестве альтернативы вы могли бы использовать DownloadManager
доступный в API 9 и выше.
Комментарии:
1. Спасибо. Гарантировано ли существование папки загрузки на всех устройствах? Как мне получить или выразить путь к нему?
2. Это описано в документации SDK, указанной выше (первая ссылка)
3. Папка для загрузки не будет существовать на каждом устройстве, но вы можете ее создать. Обычно туда помещают разные загруженные файлы.