Tengo un pequeño problema al crear un directorio y guardar un archivo en mi aplicación de Android. Estoy usando este código para hacer esto:
String filename = "MyApp/MediaTag/MediaTag-"+objectId+".png";
File file = new File(Environment.getExternalStorageDirectory(), filename);
FileOutputStream fos;
fos = new FileOutputStream(file);
fos.write(mediaTagBuffer);
fos.flush();
fos.close();
Pero está lanzando una excepción:
java.io.FileNotFoundException: /mnt/sdcard/MyApp/MediaCard/MediaCard-0.png (No existe tal archivo o directorio)
en esa línea: fos = new FileOutputStream(file);
Si configuro el nombre del archivo en: "MyApp/MediaTag-"+objectId+"
está funcionando, pero si intento crear y guardar el archivo en otro directorio, se produce la excepción. Entonces, ¿alguna idea de lo que estoy haciendo mal?
Y otra pregunta: ¿Hay alguna forma de hacer que mis archivos sean privados en el almacenamiento externo para que el usuario no pueda verlos en la galería, solo si conecta su dispositivo como Disk Drive
?
Environment.getExternalStorageDirectory()
lugar de/sdcard
.