Я пытаюсь загрузить файл из моего 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 - если это помогает)