作为附件的 Android 设备

标签 android usb

我有 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 Open Accessory Protocol 的连接并通过 USB 成功连接。据我所知,Nexus 7 可以成功将字节发送到 Galaxy Nexus。

我的问题是如何在 Galaxy Nexus 端访问此连接。我已经在 list 中添加了权限和 USB 过滤器,所以一旦建立了 USB 连接,所需的应用程序就会在 Galaxy Nexus 上打开,但我不知道如何接收来自 Nexus 7 的数据或如何发送数据从 Galaxy Nexus 返回到 Nexus 7。

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

最佳答案

查看我的 SO 答案 here .

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

关于作为附件的 Android 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20226272/

相关文章:

android - 尝试访问驱动器时继续接收未配置的访问权限

android - 如何限制用户在 Android 的 EditText 中输入的字符数?

java - 尝试从 ID3v1 标签读取流派时出现 NullPointerException

Windows下C程序访问总线上的内容

python - 查找 USB 硬盘驱动器的挂载卷和挂载点

Android 外置微型 USB Wifi 天线

ios - 无法在 Windows 8.1 上枚举设备错误

c# - 串行端口 - 如何设置字符?

android - Room - 如何通过迁移首次显式创建所有表?

Android不同的按钮样式取决于API级别