Под всеми каталогами я думаю, что вы имеете в виду даже дочерние каталоги в SDCard, ну, если да, то вот что вам нужно сделать
1) Инициализировать ArrayList
private ArrayList<String> allDirectories = new ArrayList<String>();
2) Скопируйте и вставьте эту функцию:
public void listAllDirectories(String path) {
File tempfile = new File(path);
File[] files = tempfile.listFiles();
if (files != null) {
for (File checkFile : files) {
if (checkFile.isDirectory()) {
allDirectories.add(checkFile.getName());
listAllDirectories(checkFile.getAbsolutePath());
}
}
}
}
3) Звоните откуда угодно
listAllDirectories(Environment.getExternalStorageDirectory().toString());
for (int i = 0; i < allDirectories.size(); i++) {
System.out.println(allDirectories.get(i));
}