DownloadManager.ERROR_FILE_ERROR при попытке загрузки на SD-карту (Samsung Android 9 P ie) - PullRequest
1 голос
/ 14 января 2020

Я пытаюсь загрузить файл из моего android Unity3D приложения с помощью плагина java и DownloadManager системной службы.

При попытке загрузить во внутреннюю память все работает нормально. Тот же кусок кода отлично работает с SD-картой, отформатированной как внутреннее хранилище.

Но когда я пытаюсь установить абсолютный путь к моей SD-карте (папке моего приложения) - я получаю ERROR_FILE_ERROR .

Например, у меня есть путь, подобный / storage / 45A9-E58B / Android / data / com.Company.ProductName / files

Я могу создавать и изменять файлы в этом каталоге из приложения Unity3D. Но я не могу загрузить файлы по этому пути через DownloadManager.

Я получил WRITE_EXTERNAL_STORAGE в манифесте, а также запросил разрешение памяти во время выполнения (и я могу нормально читать \ записывать файлы в моем приложении). Но DownloadManager не будет загружаться по этому пути.

мой java вызов выглядит следующим образом:

File f = new File(destUri);  
Uri dest = Uri.fromFile(f);
request = new DownloadManager.Request(url);
request.setDestinationUri(dest); 
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
manager = (DownloadManager)context.getSystemService(Context.DOWNLOAD_SERVICE);
id = manager.enqueue(request);

Я также пытался .setDestinationInExternalFilesDir() и Environment.getExternalStorageDirectory(), но оба на них возвращают внутренний путь хранения.

Любой совет, пожалуйста? (Galaxy Tab A, Android 9 - если это помогает)

...