Я пишу файл в среду .DIRECTORY_DOWNLOADS, почему я не вижу его через приложение "Загрузки"?

Я пишу (пишу, а не скачиваю, а точнее, это дамп SQLite db моего приложения) - файл в каталоге Environment.DIRECTORY_DOWNLOADS.

File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File file = new File(path, "db.csv");

Если я просматриваю телефон с помощью браузера файлов, я могу правильно видеть файл в

  /storage/emulated/0/Download

Каталог, а также другие загрузки.

Но если я открою приложение для загрузки, он не покажет...

Что мне нужно сделать, чтобы файл был показан в приложении "Загрузки"?

Ответ 1

В приложении "Загрузка" отображаются только загрузки, загруженные через DownloadManager, а не все файлы в каталоге.

Ответ 2

Если кому-то интересно, как это сделать, я нашел ответ здесь

Чтобы система отображала ваш файл в приложении "Загрузки", вам необходимо явно указать DownloadManager, что загрузка будет завершена с помощью метода addCompletedDownload()

Используя его, система позволит вашему загрузочному приложению отобразить созданный вами файл.

Надеюсь, это поможет.

Ответ 3

вы только что создали экземпляр File, например

File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File file = new File(path, "db.csv");

но файл "db.csv" еще не создан. использовать

file.createNewFile();

создать файл "db.csv" действительно...

Ответ 4

попробуйте установить свойство setVisibleInDownloadsUi. Это позволяет загружать изображение в приложении "Загрузки".

см. Download.Manager

Ответ 5

Добавьте свой файл в список загрузок:

DownloadManager dm = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
dm.addCompletedDownload("db.csv", "my description", false, "text/csv", file.getAbsolutePath(), file.length(), false);