Приложения могут загружать файлы с помощью менеджера закачек, как браузер и gmail. Это доступно, начиная с Gingerbread.
Вашему приложению требуется разрешение ИНТЕРНЕТ , чтобы начать загрузку. Чтобы сохранить файл в каталоге загрузки по умолчанию, ему также необходимо разрешение WRITE_EXTERNAL_STORAGE .
Вот как вы можете скачать URI:
DownloadManager.Request r = new DownloadManager.Request(uri);
// This put the download in the same Download dir the browser uses
r.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "fileName");
// When downloading music and videos they will be listed in the player
// (Seems to be available since Honeycomb only)
r.allowScanningByMediaScanner();
// Notify user when download is completed
// (Seems to be available since Honeycomb only)
r.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
// Start download
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
dm.enqueue(r);
Существует множество других опций для настройки уведомления, запроса состояния загрузки и задания местоположения загрузки.
В этом блоге показано, как использовать менеджер загрузок в предыдущих версиях Android с помощью скрытых API.