Escribo un archivo en Environment.DIRECTORY_DOWNLOADS, ¿por qué no puedo verlo a través de la aplicación de descargas?
Escribo (escribo, no descargo, para ser preciso es el volcado de un db de SQLite de mi aplicación) un archivo en el directorio Environment.DIRECTORY_DOWNLOADS.
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); File file = new File(path, "db.csv");
Si busco el teléfono con un explorador de archivos, puedo ver correctamente el archivo en el
/storage/emulated/0/Download
Directorio, junto con las otras descargas.
Pero si abro la aplicación de descargas no aparece …
¿Qué debo hacer para que el archivo se muestre en la aplicación de descargas también?
La aplicación Descargas sólo muestra las descargas descargadas a través de DownloadManager
, no todos los archivos del directorio.
Usted acaba de crear la instancia del archivo como
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); File file = new File(path, "db.csv");
Pero el archivo "db.csv" todavía no se ha creado. utilizar
file.createNewFile();
Para crear el archivo "db.csv" realmente …
Intente establecer la propiedad setVisibleInDownloadsUi. Esto permite que la descarga sea visible en la aplicación Descargas.
Vea Download.Manager
En caso de que alguien se pregunte cómo hacerlo, encontré la respuesta aquí
Para permitir que el sistema muestre su archivo en la aplicación "Descargas", debe notificar explícitamente al DownloadManager que se ha completado una descarga mediante el método addCompletedDownload()
Al usarlo, el sistema permitirá que su aplicación de descarga muestre el archivo que ha creado usted mismo.
Espero que ayude.