Android USB主机api和USB存储

Bri*_*ani 4 android android-usb

我正在尝试使用android主机api进行USB存储。我对此有很多怀疑。

  1. 使用主机api可以实现所有功能。我想查看USB的内容,如果可能的话,请查看正常的文件操作。我没有找到关于此的任何文档帮助。

  2. 我可以使用UsbDeviceConnection类API声明ClaimInterface,但是我无法理解bulkTransfer的工作原理,因此,如果有人可以指导我或提供一些参考,我将自己尝试一下。

我也尝试阅读USB规范,我了解bulkTransfer如何在USB级别上工作,但无法关联使用bulkTransfer而不是File Descriptor使用UsbEndpoint进行android / java文件操作的方式。

提前致谢 !!

Chr*_*ton 5

Android USB Host API不包括USB Mass Storage文件系统代码,2014年撰写本文时, Android也不会“储备”操作系统级别的USB Mass Storage卷。

要使用库存的Android USB Host API访问USB海量存储设备,因此,您必须在应用程序代码中实现实现块级设备访问所需的原始USB操作以及适当的文件系统逻辑本身。不用说,这些细节的复杂性超出了此处的答案范围,但是您可以从研究USB Mass Storage驱动程序和其他平台的文件或驱动程序的文档或现有实现开始。


似乎Android 6中的情况可能有所不同,甚至可能不再允许通过USB主机api访问版本识别为存储设备的内容。那些针对Android 6+的用户可能需要将目光投向其他地方,但是较旧的设备将继续使用一段时间。

  • 显示内容是文件系统访问的一种形式,至少在某种程度上需要我列出的所有内容。批量传输是一种用于移动大量数据的通用方法。请记住,USB 外围设备种类繁多,用途范围几乎无法想象。Andrioid 支持他们的通用基础。但它们的具体细节留给您实施。 (2认同)