2011-02-13 11 views
9

quiero crear .nomedia archivo en el directorio de caché interna donde pueda almacenar imágenes y trató lo siguiente ..escritura de archivos ocultos .nomedia falla en el almacenamiento interno

File dir = getCacheDir(); 
File output = new File(dir, ".nomedia"); 
boolean fileCreated = output.createNewFile(); 

Cuando intento esto es falso y fileCreated el archivo no se crea Si utilicé nomedia sin un punto, el archivo se crea, pero esto no sirve ya que MediaScanner está buscando si existe el archivo .nomedia.

También intenté esto con un FileOutputStream y escribir datos en el archivo en caso de que fuera porque solo se creó un archivo vacío, pero esto tampoco funciona.

¿Alguien tiene una idea de por qué esto podría estar fallando?

Respuesta

8

Hmm, ¿estás seguro de que el archivo no existe? Tenga en cuenta que necesita hacer un ls -a para ver un archivo que comienza con un punto.

La documentación de File.createNewFile() dice:

devuelve verdadero si el archivo ha sido creado , falsa si ya existe.

Si el archivo no se crea por otros motivos (es decir, seguridad), debería arrojar una excepción.

+0

Sí, el archivo se está creando, aparece con un ls -a, no aparece en el Explorador de archivos en DDMS, así que pensé que no se había creado, gracias. – Azalar

+0

¿es realmente útil crear este archivo en la carpeta de caché interna? ¿Los archivos ya no son públicos para todas las aplicaciones? –

Cuestiones relacionadas