Android USB Host在USB设备OTG中读/写文件

时间:2014-10-21 11:03:04

标签: android file usb usb-otg

我正在编写Android设备是主机的应用程序。用户将USB驱动器连接到Android设备,我的应用程序将在USB驱动器中写入一些文本文件。文本文件的路径类似于USB驱动器中的USB_DRIVE/Data/APP_NAME/myfile.txt

应用程序还应该能够从特定位置读取文本文件,如果它可以列出USB_DRIVE/Data/APP_NAME文件夹中的所有文件并且用户可以选择文件,则应该更好。

我在official android dev site

中找到了代码
UsbInterface intf = device.getInterface(0);
UsbEndpoint endpoint = intf.getEndpoint(0);
UsbDeviceConnection connection = mUsbManager.openDevice(device); 
connection.claimInterface(intf, forceClaim);
connection.bulkTransfer(endpoint, bytes, bytes.length, TIMEOUT);

我不确定如何使用bytes数组在USB_DRIVE的特定路径中写入文件。

仅供参考:我的设备中没有类似于/storage/usb0//storage/usbdisk0/的路径。 在/storage/内,文件结构如下,

  • 存储
    • 仿真
      • 0
        • SD_CARD内容
      • 遗留
        • SD_CARD内容
    • sdcard0      - SD_CARD内容

我的测试设备是Nexus 10.

我尝试使用ES File explorer app并使用此应用程序,我可以成功地将任何文件从SD_CARD移动/复制到USB_DRIVE;即:OTG工作正常,从App到USB_DRIVE的读/写文件是可行的。传输任何文件后,ES会显示文件的路径,如usb://1002/myfile.txt

如果我可以使用ES意图编写/移动/读取文件或者也可以使用。

或者,如果任何FTP解决方案可以帮助我实现这一功能,我会去实现它。

谢谢。

0 个答案:

没有答案