【问题标题】:Android communication with a USB deviceAndroid 与 USB 设备的通信
【发布时间】:2013-04-07 14:28:11
【问题描述】:

我尝试将我的 USB 设备以大容量存储方式连接到我的平板电脑(Google Nexus 7)已经有一个月了。 我已经阅读了所有关于 Android USB host 的谷歌文档,但我发现没有任何东西可以读取我的 USB 设备中的文件!

我在不同的论坛上进行了搜索,发现很少有应用程序在执行 USB 查看器(例如 Nexus 媒体导入器),但我还没有找到任何源代码能够读取 USB 密钥上的文件,在大容量存储中。

我现在正在尝试实现USB大容量存储协议,用方法

bulkTransfer (UsbEndpoint endpoint, byte[] buffer, int length, int timeout)

但我不知道如何访问设备目录...

有人已经解决了这个沟通问题吗?

【问题讨论】:

  • 我认为连接存储设备是主机模式而不是附件模式@Elior!
  • 您确实需要主机模式,这意味着平板电脑将为设备供电。附件模式意味着设备将为平板电脑供电,我认为大容量存储无法供电。
  • 好的..对不起,我给出了错误的链接..但是你可以看看那个关于主机模式的网站
  • 那个网站已经在我的收藏夹中了! :) 但我的问题不是检测USB设备,而是与它通信,并获取它上面的文件!

标签: android usb host


【解决方案1】:

运行以下方法时是否显示外部存储的根目录?

Context.getExternalMediaDirs()

如果是这样,您应该可以使用返回的路径打开文件。

【讨论】:

    【解决方案2】:

    首先,你有告诉 Nexus 7 进入主机模式的 OTG 电缆吗?其次,您可能想阅读this。 Nexus 7 支持键盘和鼠标等设备的 USB 主机模式,但不支持存储设备的主机模式。

    【讨论】:

    • 是的,我买了一条 OTG 数据线!我已经下载了应用程序 Nexus Media Importer,它可以扫描我的 USB 设备,因此可以以更少的速度读取存储设备的文件!
    • 据我了解,Nexus 7(当前一代)根本不支持存储设备,无论 Nexus 是否处于主机模式。 Galaxy Tab 2 7" 确实支持完整的主机模式、USB 大容量存储以及其他外围设备。大约两个月前,我对这些设备进行了大量研究,并确定 Galaxy Tab 是主机模式的最佳选择,Nexus只是没有完整的主机模式支持。
    • 好的,但我仍然不明白应用程序 Nexus Media Importer 是如何工作的,该应用程序可以读取我通过 Nexus 7 平板电脑上的 OTG 电缆连接的 USB 设备.. . :(
    • 我不能告诉你,我所知道的是,我们似乎无法利用 Nexus 7 的完整 USB 主机模式。我注意到有该应用程序的只读限制。不知道他们是不是这样做的。
    • @Manu,仅供参考,根据USB Host Diagnostics app,对于那些可能担心的人,Nexus 7 确实完全支持 USB 主机模式。
    猜你喜欢
    • 2018-02-17
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多