2012-06-22 82 views
6

我是新来的android和我正在做一些项目规划。以编程方式查找外部USB存储设备路径?

我需要访问/存储一些文件到外部存储设备(pendrive)。如何找到外部存储设备路径(pendrive)。

+0

你有没有尝试这个'字符串URL = Environment.getExternalStorageDirectory();'? –

+0

检查此[链接](http://stackoverflow.com/questions/5694933/find-an-external-sd-card-location) –

+0

虽然原来的标题是坏的,这是一个关于USB存储设备的问题,而不是Android的ExternalStorage(SD卡或焊接闪存) –

回答

1

最近有人问这个here

基本上,SDK只支持一个“外部存储”,这是一个SD卡,而不是“笔式驱动器”。

+0

是的。另外,据我所知,没有设备支持USB存储设备。你可以在自己的4.0设备上使用自定义内核,但是至今我还不知道任何官方支持它的设备。 – kcoppock

-2

这不给你外部存储:

File root = Environment.getExternalStorageDirectory(); 


获取配售 特定类型的文件,顶级公共外部存储目录。这是用户通常会在其中管理自己的文件的位置,因此您应该注意您在此处放置的内容 以确保您不会擦除其文件或妨碍其自己的组织。

见文档:http://developer.android.com/reference/android/os/Environment.html#getExternalStoragePublicDirectory(java.lang.String

+4

不相关。原来的标题是坏的,但这是关于USB存储设备的问题,而不是android ExternalStorage(sdcard或焊接闪存) –

0

您将需要一个OTG线和电话根深蒂固。从游戏商店安装游戏杆安装。您可以访问U盘

0

USB设备被识别为Mass Storage设备,如果:

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

usbInterface.getEndpointCount() == 2 

其中端点的一个必须满足以下几点:

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

请参考以下链接了解更多详情:

相关问题