android сохранить файл / создать папку на SD-карту - PullRequest
0 голосов
/ 04 марта 2020

Я уже выполнил поиск по переполнению стека, и в основном все ответы используют Environment.getExternalStorageDirectory(), чтобы получить каталог sd-карты.

Однако в моем телефоне это всегда дает мне /storage/emulated/0, который выглядит как внутренний память (не настоящая SD-карта), в то время как мне нужен путь, такой как /storage/6265-6530, который является реальной SD-картой. Я проверил, что мой путь SD-карты /storage/6265-6530 в android studio.

Я пытался создать папку напрямую, используя

File file = new File("/storage/6265-6530/MyApp/");
boolean result = file.mkdirs();

Но результат всегда false.

Я предоставил все разрешения, такие как android.permission.WRITE_EXTERNAL_STORAGE, и запрашиваю разрешение во время выполнения. Но все равно получите сообщение об ошибке выше.

Пока я пытался создать папку в /storage/emulated/0, и это нормально, как показано ниже.

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/MyApp/");
boolean result = file.mkdirs();

и созданный путь будет: "/ storage / emulated / 0 / MyApp "

Я также пытался получить каталог sd-карты, используя ниже:

File[] fs = reactContext.getExternalFilesDirs(null);
fs[1].getAbsolutePath()

, но я могу получить каталоги c, определяемые приложением, только в sd карта, как /storage/6265-6530/Android/data/<my application package>/files, а не root путь SD-карты.

Как я могу получить доступ для записи файлов / создания папок по root пути SD-карты? например. /storage/6265-6530/

Моя android версия 7.

Спасибо

...