Ruta de acceso de getExternalStoragePublicDirectory en Samsung Galaxy Note
En mi aplicación, estoy creando archivos que están almacenados en el directorio de descargas de dispositivos. Todos mis usuarios están contentos con este mecanismo … excepto los que usan un Samsung Galaxy Note.
Es un poco difícil de depurar sin poseer tal dispositivo. Dentro de mi código, estoy usando
- Comportamiento de vista Web con Galaxy S cargar página web toma edades
- ¿Cómo deshacerse de "Esta aplicación está causando que su dispositivo se ejecute lentamente" notificación (tiempo de desarrollo de la aplicación)?
- ¿Cómo acceder al sensor de temperatura Galaxy S5?
- ¿Cómo puedo probar automáticamente la funcionalidad de las aplicaciones iOS y Android?
- ¿Es posible instalar Eclipse IDE en una pestaña Galaxy?
File newFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "file01"); if (newFile.exists()) { // show error } else { if (!newFile.mkdirs()) { // show error } }
Para encontrar la ruta del directorio de destino. En el Galaxy Note, la ruta devuelta es "/ storage / sdcard0 / Download". Sin embargo, en el directorio del sistema de archivos local se escribe en minúsculas ("descarga") y los archivos creados por mi aplicación no existen obviamente en el directorio de archivos local. Al menos mis usuarios se quejan de esto. Supongo que el problema está relacionado con la diferencia minúscula / mayúscula en la ruta.
¿Alguien tiene una idea de por qué esto funciona en todos los dispositivos, excepto el Galaxy Note?
¡Gracias!
- Emulador Samsung Galaxy Note
- Samsung Galaxy / Holoeverywhere - El recurso no es un ColorStateList (color o ruta)
- Galaxy S3: tomar fotos en modo retrato destruye actividad
- Problema de cierre de cámara en Samsung Galaxy S3 versión 4.1.1
- Stream URL RTSP utilizando VideoView en android
- Ancho más pequeño para Galaxy S y Galaxy S2
- Cómo ver la consola Javascript de Stock Browser en Android Galaxy S4
- Android Toast se mueve por la pantalla
No hay garantía de que la ubicación devuelta por getExternalStoragePublicDirectory()
realmente existe. La suya puede ser la primera aplicación que necesita uno de esos directorios. Por lo tanto, es su trabajo llamar a mkdirs()
en esa ubicación, en todos los dispositivos, no solo en éste.
Más allá de eso, en cuanto a por qué alguien más (Samsung o otra aplicación de terceros) está creando un directorio de download
minúsculas, la única manera de determinar "por qué" es averiguar quién creó ese directorio y luego ponerse en contacto con ese desarrollador. Esto es poco probable que sea una inversión que vale la pena en el tiempo.
Mientras estés llamando a mkdirs()
para crear Download
, cualquier otro directorio que pueda existir no es realmente tu preocupación. Si querías detectar posibles colisiones como esta, y avisar al usuario, podrías hacer eso, aunque no tengo ni idea de si eso valdría la pena.
- No se pudo obtener el cliente de la fábrica de conexión – luchando con Google Maps
- ¿Cuál es la diferencia entre la clase URI y Uri?