Я использую 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: open failed: EACCES (Permission denied) в 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
, на самом деле я не хочу никакого GUI-решения. -
Некоторые приложения, которые у меня есть (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