我正在编写Android设备是主机的应用程序。用户将USB驱动器连接到Android设备,我的应用程序将在USB驱动器中写入一些文本文件。文本文件的路径类似于USB驱动器中的USB_DRIVE/Data/APP_NAME/myfile.txt
。
应用程序还应该能够从特定位置读取文本文件,如果它可以列出USB_DRIVE/Data/APP_NAME
文件夹中的所有文件并且用户可以选择文件,则应该更好。
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/
内,文件结构如下,
我的测试设备是Nexus 10.
我尝试使用ES File explorer app并使用此应用程序,我可以成功地将任何文件从SD_CARD移动/复制到USB_DRIVE;即:OTG工作正常,从App到USB_DRIVE的读/写文件是可行的。传输任何文件后,ES会显示文件的路径,如usb://1002/myfile.txt
。
如果我可以使用ES意图编写/移动/读取文件或者也可以使用。
或者,如果任何FTP解决方案可以帮助我实现这一功能,我会去实现它。
谢谢。