Я пытаюсь записать растровое изображение на SDCard на Android, и я получаю сообщение об ошибке
/mnt/sdcard/PhysicsSketchpad/sketchpad145.png (No such file or directory).
Я объявил разрешение android.permission.WRITE_EXTERNAL_STORAGE
в манифесте, и это мой код:
String file_path = Environment.getExternalStorageDirectory().getAbsolutePath() +
"/PhysicsSketchpad/";
File dir = new File(file_path);
dir.mkdirs();
File file = new File(dir, "sketchpad" + pad.t_id + ".png");
FileOutputStream fOut = new FileOutputStream(file);
bmp.compress(Bitmap.CompressFormat.PNG, 85, fOut);
fOut.flush();
fOut.close();
Что происходит?
ОБНОВЛЕНИЕ
Такое впечатление, что при попытке записи в существующийкаталог, я получаю ошибку "Отказано в разрешении",
08-11 09:55:23.796: WARN/Physics Sketchpad(8881): Error when saving: IOException /mnt/sdcard/download/sketchpad54.png (Permission denied)
и при попытке сохранить в новом каталоге я не получаю такой файл или ошибка каталога,
08-11 09:59:20.175: WARN/Physics Sketchpad(9040): Error when saving: IOException /mnt/sdcard/PhysicsSketchpad/sketchpad55.png (No such file or directory)
Кроме того, File.mkdirs()
возвращает логическое значение, основываясь на том, успешно это или нет, и вернул false.