Tengo una aplicación que guarda los archivos descargados de un servidor. Estos archivos no son privados para mi aplicación y también deben ser accesibles para otras aplicaciones. Quiero saber cuál sería la ruta correcta para guardar estos archivos cuando la tarjeta SD está AUSENTE. Para la tarjeta SD, existe la API bien conocido -Guardar archivos públicos en el almacenamiento interno
getExternalStorageDirectory()
Para los datos privados de la aplicación en la memoria interna no es -
Context.getFilesDir()
En algunos dispositivos, la memoria interna está representado por/EMMC /.
Será muy útil si alguien puede explicar/emmc /. Sé que significa tarjeta de memoria incorporada y no está presente en todos los dispositivos. Pero, ¿es realmente representativo de la memoria interna? ¿O es el tercer recuerdo?
¿Debo guardar los archivos usando openFileOutput()
con MODE_WORLD_READABLE
?
Gracias CommonsWare! Sí, mi aplicación que activa otras aplicaciones con ACTION_VIEW es exactamente la razón por la que llamo públicos a estos archivos. Además, como algunos exploradores de archivos y aplicaciones escanean tanto la tarjeta SD como la memoria interna, quiero que puedan encontrar estos archivos. Entonces, mi pregunta sigue siendo, ¿dónde guardar el archivo en caso de que no se encuentre la tarjeta SD? – Akshay
@Akshay: "Además, como algunos exploradores de archivos y aplicaciones escanean tanto la tarjeta SD como la memoria interna, quiero que puedan encontrar estos archivos". - Eso no es posible, o si lo es, es un gran agujero de seguridad. "Entonces, mi pregunta sigue siendo, ¿dónde guardar el archivo en caso de que no se encuentre la tarjeta SD?" - 'getFilesDir()'. – CommonsWare
¡Gracias CommonsWare! Estoy tratando de entender esto claramente. Mi aplicación se puede comparar con un cliente de correo electrónico que descarga archivos adjuntos y permite a los lectores de documentos y reproductores multimedia abrir estos archivos. ¿Dónde podría un cliente de correo electrónico guardar los archivos si la tarjeta SD está ausente? ¿No hay un directorio público en la memoria interna? Algo como/internal_memory/downloads? ¿Por qué consideraría escanear la memoria interna como un agujero de seguridad? Solo para confirmar, la memoria interna implica la memoria del dispositivo/teléfono, ¿verdad? Perdón por la ráfaga de preguntas. – Akshay