Эта строка кода
Код: Выделить всё
File outfile = new File(context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).toString() + "/" + "Sample" + ".png");
Код: Выделить всё
Failed to ensure /storage/emulated/0/Android/data/com.gadgetsaint.downloadmanagerexample/files/Download
java.lang.IllegalStateException: Failed to prepare /storage/emulated/0/Android/data/com.gadgetsaint.downloadmanagerexample/files/Download
at android.os.Parcel.createExceptionOrNull(Parcel.java:3363)
at android.os.Parcel.createException(Parcel.java:3339)
at android.os.Parcel.readException(Parcel.java:3322)
at android.os.Parcel.readException(Parcel.java:3264)
at android.os.storage.IStorageManager$Stub$Proxy.mkdirs(IStorageManager.java:1415)
at android.os.storage.StorageManager.mkdirs(StorageManager.java:1421)
at android.app.ContextImpl.ensureExternalDirsExistOrFilter(ContextImpl.java:3767)
at android.app.ContextImpl.getExternalFilesDirs(ContextImpl.java:894)
at android.app.ContextImpl.getExternalFilesDir(ContextImpl.java:883)
at android.content.ContextWrapper.getExternalFilesDir(ContextWrapper.java:308)
at com.gadgetsaint.downloadmanagerexample.MainActivity$2.onClick(MainActivity.java:121)
at android.view.View.performClick(View.java:8228)
at android.view.View.performClickInternal(View.java:8205)
at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
at android.view.View$PerformClick.run(View.java:31785)
at android.os.Handler.handleCallback(Handler.java:1041)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.dispatchMessage(Looper.java:315)
at android.os.Looper.loopOnce(Looper.java:251)
at android.os.Looper.loop(Looper.java:349)
at android.app.ActivityThread.main(ActivityThread.java:9041)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.StorageManagerService.mkdirs(StorageManagerService.java:3867)
at android.os.storage.IStorageManager$Stub.onTransact(IStorageManager.java:690)
at android.os.Binder.execTransactInternal(Binder.java:1441)
at android.os.Binder.execTransact(Binder.java:1385)
РЕДАКТИРОВАТЬ: если я попытаюсь создать внешний каталог загрузки вручную, я получу
Код: Выделить всё
java.nio.file.AccessDeniedException
РЕДАКТИРОВАТЬ: Я заметил, что могу просматривать /storage/emulated/0/Android/data с помощью файлового браузера на проблемном устройстве, а на другом - нет.
Подробнее здесь: https://stackoverflow.com/questions/798 ... -files-dir
Мобильная версия