Obtener una lista de almacenamiento externo en Android 4.3

He estado escaneando /etc/vold.fstab para obtener una lista de almacenamiento externo. Funciona bien hasta Android 4.3 que Google eliminó el archivo. Sé que ahora se utiliza un archivo unificado /fstab.* pero que es inaccesible sin root.

Así que en Android 4.3, ¿qué debo hacer para obtener una lista de almacenamiento externo?

Mi código se parece a esto. Ahora incluye tanto el almacenamiento externo no extraíble como el extraíble.

File voldFile = new File("/system/etc/vold.fstab"); fr = new FileReader(voldFile); br = new BufferedReader(fr); String line = br.readLine(); while (line != null) { if (line.startsWith("dev_mount")) { String[] tokens = line.split("\\s"); File mountPoint = new File(tokens[2]); if (mountPoint.isDirectory() && mountPoint.canRead()) list.add(tokens[2]); } line = br.readLine(); } 

Terminé escaneando la salida de / proc / mounts para el almacenaje montado actualmente. Código similar al siguiente.

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { File voldFile = new File("/proc/mounts"); fr = new FileReader(voldFile); br = new BufferedReader(fr); String line = br.readLine(); while (line != null) { Log.d(TAG, line); if (line.startsWith("/")) { String[] tokens = line.split("\\s+"); if ("vfat".equals(tokens[2])) { File mountPoint = new File(tokens[1]); if (!tokens[1].equals(defaultMount)) if (mountPoint.isDirectory() && mountPoint.canRead()) list.add(tokens[1]); } } line = br.readLine(); } } 
  • Ejecute el programa android como root
  • Cómo usar unix pipes en Android
  • ¿Cómo crear aplicaciones en android que no se pueden desinstalar? ¿Podemos hacer aplicaciones de sistema?
  • Espere a que termine el comando en RootTools
  • Ocultar barra de sistema en Jelly Bean Tablet (enraizado)
  • Ejecutar comandos de shell desde la aplicación
  • Determinar si se ejecuta en un dispositivo enraizado
  • Leer la salida del comando dentro de su proceso
  • Adb pull -> dispositivo no encontrado
  • Crear perfil VPN en Android
  • ¿Cómo modificar AOSP para permitir que aplicaciones específicas obtengan acceso de root?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.