Android到PC USB读/写

Saw*_*ant 6 windows usb android

我在PC上有一个程序从USB接收字符串输入(旧程序)我有一个Android(4.X)平板电脑,需要在USB上为PC上运行的程序提供字符串输入.当我在Android上使用示例代码时,以下代码给出了空的hashmap.PC(在32位XP和64位Windows 7上试用)具有Android驱动程序.

    mManager = (UsbManager)getSystemService(Context.USB_SERVICE);
    HashMap<String, UsbDevice> devices =  mManager.getDeviceList();
Run Code Online (Sandbox Code Playgroud)

通过USB与PC通信的任何实际工作代码示例都会有所帮助,pl.还要指出Android上是否需要任何驱动程序等与PC通信.

我试过了附件模式和主机模式(以防万一)

Cod*_*ers 9

我不确定我是否完全遵循你在这里做的事情,但如果我理解正确的话 - 它就不会这样.的UsbManager.getDeviceList()是为了与USB Android设备可以使用主机端口,向其中一些USB 设备被连接.但是,据我所知,你将作为设备的 Android平板电脑连接到充当主机的 PC (我想是这样,因为你写了关于驱动程序的安装).

如果您想在Android USB 设备和某些USB 主机之间进行通信(例如,因为您的Android设备没有USB主机功能),您需要使用配件模式(我建议您从这个Android开发者博客文章开始).但是这种模式需要USB主机端的特殊支持(它必须与具有Android开放附件协议的设备通信).请注意,getDeviceList()在附件模式中没有任何意义 - 首先,连接的附件是USB主机,而不是USB设备,并且USB总线上只能有一个USB主机.

如果您想使用附件模式与PC通信,您可能需要尝试使用PC的AOAP实现.如果您只需要与Android设备通信以满足某些调试需求,则可能需要使用ADB端口转发和TCP连接.