Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Application is crashing on Android 10 while downloading video files using DownloadManager

App crashes while setting setDestinationInExternalPublicDir()

 val videoDir = Environment.getDataDirectory().absolutePath + "/applicationfiles/.tutorial"
downloadRequest.setDestinationInExternalPublicDir(videoDir, videoName)

E/AndroidRuntime: FATAL EXCEPTION: main Process: app.package, PID: 19275 java.lang.IllegalStateException: Not one of standard directories: /data/applicationfiles/.tutorial at android.os.Parcel.createException(Parcel.java:2079) at android.os.Parcel.readException(Parcel.java:2039) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:188) at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140) at android.content.ContentProviderProxy.call(ContentProviderNative.java:658) at android.content.ContentProviderClient.call(ContentProviderClient.java:558) at android.content.ContentProviderClient.call(ContentProviderClient.java:546) at android.app.DownloadManager$Request.setDestinationInExternalPublicDir(DownloadManager.java:569) at app.package.startDownloadingFile(ExerciseTutorialPresenter.kt:159) at app.package.downloadVideoFiles(ExerciseTutorialPresenter.kt:142)

like image 389
Vijay Patole Avatar asked Nov 21 '19 04:11

Vijay Patole


Video Answer


1 Answers

setDestinationInExternalPublicDir(dirType: String!, subPath: String!)

For applications targeting Android 10 and above, the first parameter dirType for this method must be one of the known public directories like Environment.DIRECTORY_DOWNLOADS, Environment.DIRECTORY_PICTURES, Environment.DIRECTORY_MOVIES, etc.

like image 142
Saurabh Thorat Avatar answered Oct 01 '22 17:10

Saurabh Thorat