2012-06-22 18 views
6

Soy nuevo en android y estoy haciendo algunos planes de proyecto.Buscar ruta de dispositivo de almacenamiento USB externo mediante programación?

Necesito acceder/almacenar algunos archivos a un dispositivo de almacenamiento externo (pendrive). Cómo encontrar la ruta del dispositivo de almacenamiento externo (pendrive).

+0

¿Ha probar este 'String url = Environment.getExternalStorageDirectory();'? –

+0

Revise este [enlace] (http://stackoverflow.com/questions/5694933/find-an-sternal-sd-card-location) –

+0

Aunque el título original era malo, esta es una pregunta acerca de los dispositivos de almacenamiento USB, no el android ExternalStorage (tarjeta sd o flash soldado) –

Respuesta

1

Alguien más ha pedido esto recientemente here.

Básicamente, el SDK tiene soporte para un solo "almacenamiento externo", y es una tarjeta SD, no un "pen drive".

+0

Sí. Además, que yo sepa, ningún dispositivo admite dispositivos de almacenamiento USB listos para usar. Puede flashear kernels personalizados que lo habiliten en dispositivos 4.0, pero hasta el momento no conozco ningún dispositivo que lo soporte oficialmente. – kcoppock

-2

Esto le da el almacenamiento externo:

File root = Environment.getExternalStorageDirectory(); 


Obtener un directorio de almacenamiento externo pública de nivel superior para colocar los archivos de un tipo particular. Aquí es donde el usuario generalmente ubicará y administrará sus propios archivos, por lo que debe tener cuidado con lo que pone aquí para asegurarse de que no borre sus archivos u obstaculice su propia organización .

Ver documentos: http://developer.android.com/reference/android/os/Environment.html#getExternalStoragePublicDirectory(java.lang.String)

+4

No relevante. El título original era malo, pero esta es una pregunta acerca de los dispositivos de almacenamiento USB, no el ExternalStorage de Android (tarjeta sd o flash soldado) –

0

se necesita un cable de OTG y un teléfono raíces. Instala el soporte Stick de Play Store. Puede acceder pendrive

0

dispositivo USB se reconoce como Mass Storage dispositivo si:

usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_MASS_STORAGE 
      || usbInterface.getInterfaceSubclass() == INTERFACE_SUBCLASS // int 6 
      || usbInterface.getInterfaceProtocol() == INTERFACE_PROTOCOL // int 80 

y

usbInterface.getEndpointCount() == 2 

donde uno de punto final debe satisfacer siguiente:

endPoint direction == 0 
endPoint type = UsbConstants.USB_ENDPOINT_XFER_BULK //int 2 

Consulte estos enlaces para más detalles:

Cuestiones relacionadas