No puedo obtener la ruta real de la tarjeta SD extraíble. ¿Hay alguna manera de conseguir?
En algún dispositivo, es la trayectoria de retorno de la tarjeta SD extraíble, pero en algunos devuelve null.
Básicamente, quiero almacenar el archivo de acuerdo al usuario ya sea almacenamiento interno de dispositivo o externo (almacenamiento extraíble (tarjeta micro SD)). Esto necesito ser hecha de jelly bean to 6.0
- Android: ¿Cómo abrir una carpeta específica a través de Intent y mostrar su contenido en un navegador de archivos?
- Android obtiene imágenes de sdcard
- Lista todas las imágenes de la tarjeta SD.
- ¿Cómo usar la nueva API de acceso a tarjetas SD de Lollipop en dispositivos que ejecutan KITKAT?
- Problema que empuja archivo grande a Emulator / SDcard con Eclipse DDMS
public static String getExternalStroagePath(Context context) { // storage types final String FLAG = "mnt"; final String SECONDARY_STORAGE = System.getenv("SECONDARY_STORAGE"); final String EXTERNAL_STORAGE_DOCOMO = System.getenv("EXTERNAL_STORAGE_DOCOMO"); final String EXTERNAL_SDCARD_STORAGE = System.getenv("EXTERNAL_SDCARD_STORAGE"); final String EXTERNAL_SD_STORAGE = System.getenv("EXTERNAL_SD_STORAGE"); final String EXTERNAL_STORAGE = System.getenv("EXTERNAL_STORAGE"); Map<Integer, String> listEnvironmentVariableStoreSDCardRootDirectory = new HashMap<Integer, String>(); // add all storage to map listEnvironmentVariableStoreSDCardRootDirectory.put(0,SECONDARY_STORAGE); listEnvironmentVariableStoreSDCardRootDirectory.put(1,EXTERNAL_STORAGE_DOCOMO); listEnvironmentVariableStoreSDCardRootDirectory.put(2,EXTERNAL_SDCARD_STORAGE); listEnvironmentVariableStoreSDCardRootDirectory.put(3,EXTERNAL_SD_STORAGE); listEnvironmentVariableStoreSDCardRootDirectory.put(4, XTERNAL_STORAGE); File externalStorageList[] = null; String directory = null; //check version if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.KITKAT) { externalStorageList = context.getExternalFilesDirs(null); } int size = listEnvironmentVariableStoreSDCardRootDirectory.size(); for (int i = 0; i < size; i++) { if (externalStorageList != null && externalStorageList.length > 1 && externalStorageList[1] != null) directory = externalStorageList[1].getAbsolutePath(); else directory = listEnvironmentVariableStoreSDCardRootDirectory.get(i); directory = canCreateFile(directory); if (directory != null && directory.length() != 0) { if (i == size - 1) { if (directory.contains(FLAG)) { return directory; } else { return null; } } return directory; } } return null; }
- Todavía el permiso denegado después de agregar "WRITE_EXTERNAL_STORAGE" en AndroidManifest.xml
- Error que abre el archivo del rastro: Ningún archivo o directorio (2)
- Android - ¿Cómo crear la carpeta en sdcard con el icono de la aplicación con la esquina izquierda hacia abajo?
- Guardar Logcat en un archivo de texto en el dispositivo Android
- Android: error de transferencia: sistema de archivos de sólo lectura
- Guardar archivo en android, por lo que el usuario no puede leer
- Android - Almacenamiento interno vs almacenamiento externo cuando la aplicación se instala en la tarjeta SD
- Carpeta de Android KitKat 4.4 en la tarjeta sd
- Cargando diferentes imágenes fuera de línea (imágenes predeterminadas) en NetworkImageview Volley android
- Retrofit 2.0 archivo de múltiples partes que envía sendto falló: ETIMEDOUT (conexión agotada) error