Exportar lista de descargas (sin raíz)

Estaba usando Firefox y por alguna razón borró todas las descargas de la tarjeta SD.

Encontré una aplicación integrada "Descargas" que tiene una lista de todos los archivos descargados hasta la fecha, enumerando las descargas de Chrome y Firefox.

Haga clic en la imagen para ampliar

Descargas

¿Cómo puedo exportar una lista de nombres de archivo (y sus respectivas URL, si es posible) que se muestra en esta aplicación de "Descargas"?

¿No te funcionó la respuesta? No has respondido en absoluto.
Hola @Firelord, lo siento, no pude implementar tu gran respuesta. Actualmente estoy en una ciudad casi sin red (sin Internet), responderé lo antes posible. Gracias por la gran respuesta sin embargo :)

Respuestas (1)

La aplicación Descargas tiene el nombre DownloadsProviderUI ( com.android.providers.downloads.ui). Las entradas que muestra no son manejadas ni almacenadas dentro de su directorio de datos. En cambio, la aplicación es solo una interfaz para DownloadsProvider ( com.android.providers.downloads).

La información que está buscando se almacena dentro

/data/data/com.android.providers.downloads/databases/downloads.db

Siempre que su OEM no se haya equivocado con el manifiesto de DownloadProvider , debería poder hacer una copia de seguridad de la aplicación usando .

Instrucciones

  1. Configure adb en la PC y conecte el dispositivo, con la depuración USB habilitada , a la PC.
  2. Inicie un shell y ejecute el comando

    copia de seguridad adb com.android.proveedores.descargas

    Acepte la copia de seguridad en el dispositivo. Ahora debería tener un archivo de respaldo llamado backup.ab.

  3. Siga cualquiera de las soluciones aquí para extraer el contenido del archivo. (Prefiero el extractor de copia de seguridad de Android ).

    Ahora debería tener un archivo llamado downloads.db, posiblemente debajo apps/com.android.providers.downloads/db/(dentro del contenido extraído).

  4. Ahora tiene muchas opciones para abrir el archivo de la base de datos. Puede utilizar soluciones GUI como Sqliteman o DB Browser para SQLite . El primero puede exportar los datos a un archivo HTML.

    De todos modos, dentro del archivo, la tabla downloadstiene las columnas relevantes, a saber: uri, titley _data.

    Si tiene instalado sqlite3 , puede hacer:

    sqlite3 descargas.db
    línea .mode
    .encabezados en
    .fuera info.txt
    seleccione uri,título,_datos de descargas
    .abandonar
    

    Ahora debería tener un archivo info.txt. Ábrelo y verás una estructura, como:

    uri = http://dl-xda.xposed.info/modules/biz.bokhorst.xprivacy_v471_8ba0b6.apk
    título = XPrivacidad
    _data = /data/data/com.android.providers.downloads/cache/biz.bokhorst.xprivacy_v471_8ba0b6.apk
    
    uri = non-dwnldmgr-download-dont-retry2download
    título = ProcessMonitor.zip
    _data = /almacenamiento/sdcard0/Descargar/ProcessMonitor.zip
    

    Existen otros modos para formatear. Por ejemplo, cambie .modea csvy .outa file.csvy luego mantenga intactos el resto de los comandos. Ejecute todos los comandos en serie y terminará con un archivo CSV.

    (Puede usar PRAGMA table_info('downloads')o .schema downloadspara conocer el nombre de todas las columnas dentro de la tabla downloads).

    Si es necesario, consulte este artículo sobre ZetCode para saber qué hacen los comandos SQL mencionados anteriormente.

Algunas aplicaciones de Android aquí también pueden ver y exportar los datos del archivo de la base de datos.