我在 PC 上有一个程序,从 USB 接收字符串输入(旧程序)。我有一个 Android (4.X) 平板电脑,需要向在 PC 上运行的程序提供 USB 上的字符串输入。
当我在 Android 上使用示例代码时,以下代码给出了空的哈希图。 PC(在 32 位 XP 和 64 位 Windows 7 上尝试过)具有 Android 驱动程序。
mManager = (UsbManager)getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> devices = mManager.getDeviceList();
任何通过 USB 与 PC 通信的实际工作代码示例都会有所帮助,pl。还要指出 Android 上是否需要任何驱动程序等来与 PC 通信。
我已经尝试了附件模式和主机模式(以防万一)
我不确定我是否完全遵循你在这里所做的事情,但如果我理解正确的话 - 它只是不会这样工作。这UsbManager.getDeviceList()
适用于带有 USB 的 Android 设备host端口,其中一些 USBdevices连接。但是,据我了解,您连接 Android 平板电脑作为device到您的 PC 作为host(我想是的,因为你写了关于驱动程序安装的文章)。
如果你想在Android USB之间进行通信device和一些USBhost(例如,因为您的 Android 设备没有 USB 主机功能),您需要使用配件模式(我建议您从这篇 Android 开发者博客文章 http://android-developers.blogspot.com/2011/05/bright-idea-android-open-accessories.html)。但这种模式需要 USB 主机端的特殊支持(它必须与设备通信)Android 开放配件协议 https://source.android.com/devices/accessories/protocol)。注意getDeviceList()
在附件模式下没有任何意义 - 首先,连接的附件是 USB 主机,而不是 USB 设备,并且 USB 总线上只能有一个 USB 主机。
如果你想使用Accessory模式与PC通信,你可能想尝试这个AOAP实施 http://android-developers.blogspot.com/2011/05/bright-idea-android-open-accessories.html对于个人电脑。如果您只需要与 Android 设备进行一些调试需求,您可能需要使用ADB端口转发 http://developer.android.com/tools/help/adb.html#forwardports和 TCP 连接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)