2015-08-11 2 views
2

Я добавил разрешения для чтения и записи в файле манифеста. По умолчанию мое устройство имеет следующие папки:Как создать папки на внешней SD-карте на Android 4.4.2?

/хранение/эмулировать/0

/хранение/эмулировать/наследие

/хранение/sdcard0

/хранение/sdcard1

/storage/usbcard1

Оказывается, что не удается создать папки в/storage/sdcard1, которые являются локализацией n sdcard, с помощью того же метода я могу создавать папки в/storage/emulated/0.

Это мой метод, чтобы создать папки

private static boolean CriarDiretorio(File dir) { 
    if (dir.isDirectory()) return true; // already exists 
    if (dir.exists()) return false;  // already exists, but is not a directory 
    return dir.mkdirs();     // create it 
} 

ответ

0

You cannot read or write in arbitrary locations on removable storage on Android 4.4+.

Позвоните по номеру getExternalFilesDirs() (обратите внимание: множественное число). Если он возвращает каталоги на 2+, второй и последующие будут каталоги на съемном носителе, уникальном для вашего приложения, с которым вы можете читать и писать.

+0

Я попытался использовать этот метод в приведенном ниже коде, но не смог создать новую папку. «Файл [] ext = _context.getExternalFilesDirs («/storage/sdcard1/newfolder »); Boolean created = ext [0] .mkdirs(); ' –

+0

@ RenanViníciusQuadrosBarbosa: во-первых, 'ext [0]' укажет на местоположение на [внешнем хранилище] (https://commonsware.com/blog/2014/04/08/storage-situation-external-storage.html), не [сменное хранилище] (https://commonsware.com/blog/2014/04/09/storage-situation-removable-storage.html). Во-вторых, параметр 'getExternalFilesDirs()' не является путем. Вы можете просмотреть [документацию для 'getExternalFilesDirs()'] (http://developer.android.com/reference/android/content/Context.html#getExternalFilesDirs%28java.lang.String%29). – CommonsWare

+0

Понял. У вас есть примеры использования getExternalFilesDirs (String type)? –

0

Лучший способ - сначала запустить Windows, а затем использовать root explorer. Или создать папку и документы с одним из этих сторонних файловых менеджеров для записи на внутреннюю карту памяти, а когда закончите писать документы и создаете папки, затем используйте внутренний файловый менеджер, поставляемый с ОС Kitkat, чтобы затем скопировать созданный папку и документы на внешнюю SD-карту. Пока это единственный способ, пока замечательный программист-хакер не сможет решить проблему.

Смежные вопросы