2012-06-22 114 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 

請參考以下鏈接瞭解更多詳情:

相關問題