这是我的原理图 schematic
我的问题:如何在连接到Android手机时检测设备? 我试图读取两个变量
UsbManager.ACTION_USB_DEVICE_ATTACHED
android.hardware.usb.action.USB_STATE
两者都没有变化。
但奇怪的是当我插入USB线时android.hardware.usb.action.USB_STATE =已连接
答案 0 :(得分:0)
USB是一种复杂的协议。 USB设备按device classes
组织,如大容量存储类,通信设备类(CDC),...( http://www.usb.org/developers/docs/devclass_docs/ , https://www.kernel.org/doc/html/v4.13/driver-api/usb/power-management.html )当USB设备连接到主机时,它会将其类报告给主机(通过数据D-D +线路),主机加载相应的内核模块/驱动程序和配置
设备类和USB类型也决定USB端口的输出功率,当简单连接USB电缆时,使用标准配置输出功率(我认为500 mA)但是我不知道机制主机如何检测连接的USB线缆,可能使用万用表测量USB线缆各线之间的电阻和电容......
可能会将您的设备连接到USB线并将其连接到Android,因为检测到电缆并启用了电源输出......