Как сохранить загруженный файл с помощью DownloadManager в каталоге файлов приложения? - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь сохранить загруженный файл, используя DownloadManager, в каталог файлов app / s, выделенный android. Для этого я использую следующий код

downloadManager=(DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
    Uri uri = Uri.parse(link);
    DownloadManager.Request request= new DownloadManager.Request(uri);
    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
    request.setVisibleInDownloadsUi(false);
    request.setTitle(fileName);

    File file = ctx.getFilesDir();
    Uri myPath=Uri.fromFile(file);
    request.setDestinationUri(myPath);

    Long reference= downloadManager.enqueue(request);
    Toast.makeText(DownloadActivity.this,"Downloading Started",Toast.LENGTH_LONG).show();

Используя этот код, я получаю следующую ошибку

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.puranepaper.PuranePaper, PID: 18263
java.lang.SecurityException: Unsupported path /data/data/com.puranepaper.PuranePaper/files
    at android.os.Parcel.readException(Parcel.java:2005)
    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
    at android.content.ContentProviderProxy.insert(ContentProviderNative.java:476)
    at android.content.ContentResolver.insert(ContentResolver.java:1552)
    at android.app.DownloadManager.enqueue(DownloadManager.java:1163)
    at com.puranepaper.PuranePaper.DownloadActivity$1.onClick(DownloadActivity.java:92)
    at android.view.View.performClick(View.java:6310)
    at android.view.View$PerformClick.run(View.java:24970)
    at android.os.Handler.handleCallback(Handler.java:790)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:171)
    at android.app.ActivityThread.main(ActivityThread.java:6654)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

Как я могу удалить ошибку "Неподдерживаемый путь" и что я делаю неправильно в этом коде

...