Luka313 / integrator-cordova-plugin-downloader

Cordova android plugin for downloading files via DownloadManager
ISC License
13 stars 14 forks source link

Getting error when downloading to public location on api 28+ #13

Open akk7777 opened 3 years ago

akk7777 commented 3 years ago

When trying to download to public folders using

destinationInExternalPublicDir: {
        dirType: "Downloads/",
        subPath: "file.pdf"
}

Showing this error java.lang.IllegalStateException: Not one of standard directories: Downloads

Umfi commented 3 years ago

With API level 29 only the following paths are allowed.

            Environment.DIRECTORY_MUSIC,
            Environment.DIRECTORY_PODCASTS,
            Environment.DIRECTORY_RINGTONES,
            Environment.DIRECTORY_ALARMS,
            Environment.DIRECTORY_NOTIFICATIONS,
            Environment.DIRECTORY_PICTURES,
            Environment.DIRECTORY_MOVIES,
            Environment.DIRECTORY_DOWNLOADS,
            Environment.DIRECTORY_DCIM,
            Environment.DIRECTORY_DOCUMENTS,
            Environment.DIRECTORY_AUDIOBOOKS,

More details can be found here: https://developer.android.com/reference/android/os/Environment#getExternalStoragePublicDirectory(java.lang.String)

So just replace dirType: "Downloads/", with dirType: "Download" and the file should be stored in the public downloads folder.