【问题标题】:Android device acting as an accessory充当附件的 Android 设备
【发布时间】:2013-12-12 03:19:55
【问题描述】:

我有 2 个 Android 设备,我想用 USB OTG 电缆连接它们,并在两个设备之间进行来回通信。据我了解,一台 Android 设备将充当 USB 主机(运行 4.4 的 Nexus 7),而另一台 Android 设备将充当 USB 附件(运行 4.2.2 的 Galaxy Nexus)。我试过用谷歌搜索答案,但我似乎只能找到解释如何将 Android 设备连接到 USB 配件(如 USB 鼠标或键盘)的文章,而不是如何将 Android 设备视为 USB 配件本身.

因此,在this 页面之后,我在 Nexus 7 上配置了一个应用程序作为 USB 主机。我可以根据其产品 ID 和供应商 ID 找到已连接的 Galaxy Nexus,形成与 Android 开放附件协议的连接并通过 USB 成功连接。据我所知,Nexus 7 可以成功地向 Galaxy Nexus 发送字节。

我的问题是如何在 Galaxy Nexus 端访问此连接。我已将权限和 USB 过滤器添加到清单中,因此一旦建立 USB 连接,所需的应用程序就会在 Galaxy Nexus 上打开,但我无法弄清楚如何接收来自 Nexus 7 的数据或如何发送数据从 Galaxy Nexus 返回到 Nexus 7。

任何帮助将不胜感激!谢谢!

【问题讨论】:

  • 谁叫这个话题是严重错误的。这涉及利用 android API软件开发
  • Android 中没有通用的“USB 设备”API 可用作 USB 从设备。您最好的方法可能是查看 ADK 协议 - 让“主机”设备扮演外部嵌入式 USB 主机的角色(即通常由 ADK 板、Arduino + USB 主机屏蔽或 ioio 板完成的工作)。然后您可以在“从”设备上使用 ADK API。

标签: android usb


【解决方案1】:

查看我的 SO 回答 here

如果您希望 Galaxy Nexus 充当 USB 附件,则它必须实现 Android Open Accessory 协议。 Android 附件是一个 USB 主机,因此从技术上讲,您将拥有两个主机(假设您设法在 Galaxy Nexus 上正确实现了 AOA 协议),这显然与 USB 规范有偏差。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-05
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 2012-11-25
    相关资源
    最近更新 更多