Android到PC USB读/写

我在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();

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

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

解决方法

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

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

如果您想使用附件模式与PC通信,您可能需要尝试使用此AOAP implementation for PC.如果只需要与Android设备通信以满足某些调试需求,您可能需要使用ADB port forwarding和TCP连接.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...