首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android - UsbManager.getDeviceList()对于某些设备返回空

android - UsbManager.getDeviceList()对于某些设备返回空
EN

Stack Overflow用户
提问于 2016-10-30 06:04:35
回答 1查看 708关注 0票数 0

我有一个android应用程序,它可以枚举USB总线并搜索设备。当我将disk-on-key或arduino板连接到总线时,应用程序会检测并枚举连接的设备。但是当我使用HID (键盘和鼠标usb加密狗)时,应用程序不会枚举它-尽管手机可以识别加密狗,并且我可以使用键盘和鼠标,但在另一个usb设备(射频加密狗)上发生了同样的枚举失败,但对于它,我不知道它是否工作(可能设备固件需要调整)。

到目前为止我所做的事情:*将添加到Android Manifest。*检查Android设备的/ android.hardware.usb.host.xml /etc/permissions文件夹下是否存在权限。

我不知道哪里出了问题,因为我确实可以使用一些设备,但不能使用其他设备。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-06-18 11:17:52

HID类已被UsbManager.java阻止

代码语言:javascript
复制
   /* 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“。我试过之后会告诉你的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40324139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档