Я пытаюсь создать папку на SD-карте (кроме памяти устройства) для резервного копирования некоторых файлов. Для идентификации устройств хранения я использую...
List<String> allStoragePlaces = new ArrayList<>();
File[] listExternalDirs = ContextCompat.getExternalFilesDirs(getApplicationContext(), null);
for (int i = 0; i < listExternalDirs.length; i++) {
if(listExternalDirs[i] != null) {
String path = listExternalDirs[i].getAbsolutePath();
int indexMountRoot = path.indexOf("/Android/data/");
if(indexMountRoot >= 0 && indexMountRoot <= path.length()){
allStoragePlaces.add( i, path.substring(0, indexMountRoot) );
}
}
}
В моем случае получается...
- 0) /хранилище/эмулировать/0
- 1) /хранилище/4960-1EFE
Я пытаюсь создать папку «bak» в /storage/4960-1EFE без успеха с
File bakDirExtern = new File( "/storage/4960-1EFE/bak");
if( ! bakDirExtern.exists() || ! bakDirExtern.isDirectory()) {
if(!bakDirExtern.mkdirs()) {
Log.v("wew", "FOLDER NOT GENERATED");
}
}