que estoy tratando de guardar los datos en la tarjeta SD, de acuerdo con la guía here que debería usar getExternalFilesDir()
(API nivel 8), realmente me gustaría hacerlo pero llamar
File directory = context.getExternalFilesDir(null);
sigue volviendo null
, estoy usando mi actividad principal como contexto.
Luego he intentado volver a utilizar File dir = Environment.getExternalStorageDirectory();
, devuelve correctamente la raíz SD, pero al parecer no soy capaz de crear el "/ Android/data/package_name/archivos /" directorio sugerido:Android problemas externos de almacenamiento de datos
File root = Environment.getExternalStorageDirectory();
File dir = new File(root, GlobalConstants.EXTERNAL_SAVE_DIR);
boolean canCreate = dir.mkdirs();
En este código canCreate
es falso (EXTERNAL_SAVE_DIR es obviamente/Android/data/package_name/files /).
¿Hay algo que me falta, tal vez debería pedir permisos sobre el Manifiesto (no encontré nada)? He leído getExternalFilesDir()
tiene un error donde los contenidos se eliminan en la actualización de la aplicación, realmente no me importa y prefiero usarlo en lugar del otro ya que estoy tratando de cumplir con API 8 y me gusta la idea de manejar el nombre del directorio para mí.
¿Alguna idea?
¡Maldición, no sé cómo me lo perdí, y lo verifiqué! – capitano666
También vale la pena mencionar que los archivos no se crean automáticamente al escribir, pero hay que usar 'file.createNewFile()' – capitano666
No entiendo por qué la documentación no menciona este permiso en la sección Almacenamiento de datos. +1 resolvió mi problema. – Emerald214