Невозможно загрузить файлы с помощью диспетчера загрузки в приложение datadir - PullRequest
0 голосов
/ 07 июня 2019

Я хочу скачать файл и сохранить в каталоге данных приложения

    context.getPackageManager().getPackageInfo(context.getPackageName(), 0).applicationInfo.dataDir
   //  /data/data/<PackageName>/files

но после завершения загрузки эта папка показывается пустой

Диспетчер загрузки вызова

dm = (DownloadManager) mContext.getSystemService(DOWNLOAD_SERVICE);
DownloadManager.Request request = new DownloadManager.Request ("video url");
request.setDestinationInExternalPublicDir("file path /data/data/<PackageName>/files","filename.mp4");
            enqueue = dm.enqueue(request);

1 Ответ

1 голос
/ 07 июня 2019

Download Manager не работает как часть вашего приложения - это стороннее приложение (отдельный процесс от технической точки зрения), поэтому ваш каталог данных НЕ доступен для Download Manager так же, как он недоступен для любого другого стороннего приложения. Если вам нужно скачать его прямо там, вам нужно заниматься загрузкой самостоятельно. В качестве альтернативы вы можете загрузить в папку, в которую DM может записать, а затем переместить файл в папку назначения после его завершения.

...