уже есть два ответа с теорией и кодом об альтернативе SAF.
ользую Samsung A3, Android 5.0.2. я используюэта настройка компилировать приложения, то есть цель Android 4.1 Jelly Bean (API 16).
Я точно знаю путь к внешней съемной карте microSD, это/mnt/extSdCard/
(см. также примечание № 7 ниже).
Проблема: я замечаю, что
File myDir = new File("/mnt/extSdCard/test");
myDir.mkdirs();
не работает: каталог не создан.
Также:
File file = new File("/mnt/extSdCard/books/test.txt"); // the folder "books" already exists on the external microSD card, has been created from computer with USB connection
FileOutputStream fos = new FileOutputStream(file);
выдает эту ошибку:
java.io.FileNotFoundException: /mnt/extSdCard/books/test.txt: открыть не удалось: EACCES (в доступе отказано) в libcore.io.IoBridge.open (...
Как заставить чтение / запись доступ к внешней съемной карте microSD?
Примечания:
Environment.getExternalStorageDirectory().toString()
дает/storage/emulated/0
которая является внутренним хранилищем моего телефона, то есть не тем, что я хочу.
getExternalFilesDir(null)
дает/storage/emulated/0/Android/data/com.blahblah.appname/files/
то есть не то, что я хочу. Обратите внимание, что я не могу использоватьgetExternalFilesDirs
с финаломs
потому что это не доступно в API16. Также разрешения времени выполнения не доступны в API16.
у меня уже есть<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
, а такжеREAD_EXTERNAL_STORAGE
.
Я читаю много тем, какэтот или жеэтотНа самом деле, вероятно, двадцать подобных вопросов, но в конце концов это кажется очень сложным, и все и его противоположность сказано. Это мое, я ищу решение, специфичное для этой ситуации.
Я не хочуACTION_OPEN_DOCUMENT
а такжеACTION_CREATE_DOCUMENT
На самом деле я не хочу никакого графического решения.
Некоторые приложения у меня есть (Sync Resilio)разрешено изменять/mnt/extSdCard/music/
успешно создавать новые файлы там и т. д.
Кстати,ls -la /mnt/extSdCard/
дает
drwxrwx--x root sdcard_r 2017-10-15 01:21 Android
drwxrwx--- root sdcard_r 2017-10-14 00:59 LOST.DIR
drwxrwx--- root sdcard_r 2017-12-05 16:44 books
drwxrwx--- root sdcard_r 2017-11-21 22:55 music