11

我正在编写一个以 Android 设备为主机的应用程序。用户将 USB 驱动器连接到 Android 设备,我的应用程序将在 USB 驱动器中写入一些文本文件。文本文件的路径与USB_DRIVE/Data/APP_NAME/myfile.txtUSB 驱动器内的路径相同。

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

我在官方 android 开发网站上找到了代码

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);

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

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

  • 贮存
    • 模拟的
      • 0
        • SD_CARD 内容
      • 遗产
        • SD_CARD 内容
    • sdcard0 - SD_CARD 内容

我的测试设备是 Nexus 10。

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

如果我可以使用 ES 意图或其他可以工作的东西来编写/移动/读取文件。

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

谢谢你。

4

0 回答 0