我有一个android应用程序,它可以枚举USB总线并搜索设备。当我将disk-on-key或arduino板连接到总线时,应用程序会检测并枚举连接的设备。但是当我使用HID (键盘和鼠标usb加密狗)时,应用程序不会枚举它-尽管手机可以识别加密狗,并且我可以使用键盘和鼠标,但在另一个usb设备(射频加密狗)上发生了同样的枚举失败,但对于它,我不知道它是否工作(可能设备固件需要调整)。
到目前为止我所做的事情:*将添加到Android Manifest。*检查Android设备的/ android.hardware.usb.host.xml /etc/permissions文件夹下是否存在权限。
我不知道哪里出了问题,因为我确实可以使用一些设备,但不能使用其他设备。
谢谢
发布于 2017-06-18 11:17:52
HID类已被UsbManager.java阻止
/* returns true if the USB device should not be accessible by applications */
private boolean isBlackListed(int clazz, int subClass, int protocol) {
// blacklist hubs
if (clazz == UsbConstants.USB_CLASS_HUB) return true;
// blacklist HID boot devices (mouse and keyboard)
if (clazz == UsbConstants.USB_CLASS_HID &&
subClass == UsbConstants.USB_INTERFACE_SUBCLASS_BOOT) {
return true;
}
return false;
}它就是你提到的RFcat射频加密狗吗?我也遇到了同样的问题,我将尝试使用Xposed来替换始终返回false的方法"isBlackListed“。我试过之后会告诉你的。
https://stackoverflow.com/questions/40324139
复制相似问题