Вручную добавьте локальный файл в приложение Downloads
Моему приложению нужно загружать файлы, я искал DownloadManager, однако у него есть некоторые ограничения, которые не подходят для моего случая (аутентификация, схема именования, проверка), поэтому я сделал свой собственный механизм загрузки.
Можно ли вручную добавить файл, загруженный с помощью моего движка (например, с помощью локального URL), в список в системном приложении Downloads? Насколько я понимаю, этот список заполняется поставщиком системного контента. Можно ли добавить в него записи без DownloadManager, пытающегося загрузить файл?
Спасибо;)
2 ответа
Чтобы вручную добавить файл, вам нужно использовать класс DownloadManager. Я использую следующее, чтобы показать файл в приложении Download, которое я создал локально.
DownloadManager downloadManager = (DownloadManager)mainActivity.getSystemService(mainActivity.DOWNLOAD_SERVICE);
downloadManager.addCompletedDownload(file.getName(), file.getName(), true, "application/json", file.getAbsolutePath(),file.length(),true);
Это заставит файл появиться в приложении Downloads на 6.0, даже если файл был создан локально.
Kotlin Эквивалент приведенного выше ответа:
val downloadManager = this.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
downloadManager.addCompletedDownload(file.getName(), file.getName(), true, "application/json", file.getAbsolutePath(),file.length(),true)