Não é possível gravar no armazenamento externo no Android

Eu vejo um monte de outras pessoas fazendo essa mesma pergunta, mas nenhuma das soluções postadas me ajudou.

Eu estou tentando escrever um arquivo (binário) para armazenamento externo do meu aplicativo Android. Eu coloco<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> no meu manifesto, mas ainda não consigo criar nenhum arquivo. O código que estou usando para criar arquivos é

File folder = new File(Environment.getExternalStorageDirectory(), SAVE_DIRECTORY);
File toWrite = new File(folder, "save.bin");
if(!toWrite.exists()){
    try {
        if(!folder.mkdirs())
            Log.e("Save", "Failed to create directories for save file!");
        toWrite.createNewFile();
     } catch (IOException e) {
         Log.e("Save", "Failed to create save file! " + e.getMessage());
     }
 }

A chamada paramkdirs() falha ecreateNewFile() lança oIOException (ENOENT, porque o diretório não existe)

Alguém sabe o que está acontecendo? Eu até tentei reiniciar o meu dispositivo. Estou no nível 8 da API em um Nexus 7, se fizer alguma diferença.

questionAnswers(3)

yourAnswerToTheQuestion