Ответ 1
В приложении "Загрузка" отображаются только загрузки, загруженные через DownloadManager
, а не все файлы в каталоге.
Я пишу (пишу, а не скачиваю, а точнее, это дамп SQLite db моего приложения) - файл в каталоге Environment.DIRECTORY_DOWNLOADS.
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File file = new File(path, "db.csv");
Если я просматриваю телефон с помощью браузера файлов, я могу правильно видеть файл в
/storage/emulated/0/Download
Каталог, а также другие загрузки.
Но если я открою приложение для загрузки, он не покажет...
Что мне нужно сделать, чтобы файл был показан в приложении "Загрузки"?
В приложении "Загрузка" отображаются только загрузки, загруженные через DownloadManager
, а не все файлы в каталоге.
Если кому-то интересно, как это сделать, я нашел ответ здесь
Чтобы система отображала ваш файл в приложении "Загрузки", вам необходимо явно указать DownloadManager, что загрузка будет завершена с помощью метода addCompletedDownload()
Используя его, система позволит вашему загрузочному приложению отобразить созданный вами файл.
Надеюсь, это поможет.
вы только что создали экземпляр File, например
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File file = new File(path, "db.csv");
но файл "db.csv" еще не создан. использовать
file.createNewFile();
создать файл "db.csv" действительно...
попробуйте установить свойство setVisibleInDownloadsUi. Это позволяет загружать изображение в приложении "Загрузки".
см. Download.Manager
Добавьте свой файл в список загрузок:
DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
dm.addCompletedDownload("db.csv", "my description", false, "text/csv", file.getAbsolutePath(), file.length(), false);