我有一个项目,我必须在Android应用程序和USB设备之间进行通信。该设备具有带有不同接口的hid描述符(5)。有一个接口类型“键盘”和一个接口类型“鼠标”,其他接口是未定义类型。我必须从/向设备读取和写入数据。我已经看到USB Host API可以打开与USB设备的连接,但我在android hid设备列表中看不到该设备。我已经看到“USBManager.getDeviceList”不会一直返回键盘。我认为这是因为该设备仍然有一个句柄打开。我该如何防止这个句柄?如何打开让我的设备打开UsbDeviceConnection?
有关信息:
- 当我插入USB设备时:
- 它被识别为键盘(我可以使用键并在界面上导航)
- 我在/ dev / input
上看到了新的文件事件
- 我使用android 4.2.2
- dmesg:
输入:XXX USB HID SENSORS为/devices/pci0000:00/0000:00:10.1/usb8/8-1/8-1:1.0/input/input29
hid-generic 0003:2804:0100.0014:输入,hidraw3:USB HID v1.10键盘[XXX USB HID SENSORS] on usb-0000:00:10.1-1 / input0
输入:XXX USB HID传感器> /devices/pci0000:00/0000:00:10.1/usb8/8-1/8-1:1.1/input/input30
hid-generic 0003:2804:0100.0015:输入,hidraw4:USB HID v1.10设备[XXX USB HID SENSORS]在usb-0000:00:10.1-1 / input1
hid-generic 0003:2804:0100.0016:hiddev0,hidraw5:usb-0000:00:10.1-1 / input2的USB HID v1.10设备[XXX USB HID SENSORS] 输入:XXX USB HID SENSORS为/devices/pci0000:00/0000:00:10.1/usb8/8-1/8-1:1.3/input/input31
hid-generic 0003:2804:0100.0017:输入,hidraw6:USB HID v1.10鼠标[XXX USB HID SENSORS] on usb-0000:00:10.1-1 / input3
hid-generic 0003:2804:0100.0018:hiddev0,hidraw7:USB HID v1.10设备[XXX USB HID SENSORS] on usb-0000:00:10.1-1 / input4
感谢您的帮助
答案 0 :(得分:0)
我认为linux hid驱动程序挂钩到HID类,这会阻止您从应用程序层访问设备。
为什么不看看Android Open Accessory Protocol 2.0。也许,这可以帮助你进行冒险。