Не удается записать на внешнее хранилище на Android
Я вижу кучу других людей, задающих этот же вопрос, но ни одно из опубликованных решений не помогло мне.
Я пытаюсь записать (двоичный) файл во внешнее хранилище из моего приложения для Android.
я кладу<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
в мой манифест, но я все еще не могу создать любые файлы. Код, который я использую для создания файлов:
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());
}
}
Призыв кmkdirs()
терпит неудачу, иcreateNewFile()
бросаетIOException
(ENOENT, потому что каталог не существует)
Кто-нибудь знает, что случилось? Я даже пытался перезагрузить свое устройство. Я на API уровне 8 на Nexus 7, если это имеет какое-либо значение.