用usbManager android无法看到鼠标和键盘设备

我在一个项目上工作,我需要在服务上获取键盘和鼠标的数据。 我也必须能够发送数据到我的设备隐藏。 要做到这一点,我想使用USB主机模式。 当我得到设备列表时,我可以看到海量存储空间,但没有鼠标和键盘。 搜索后,我看到usbManager不返回鼠标和键盘设备。 我试图改变权限(在/系统/ etc /权限)whitout成功)。 我已经运行了应用USB设备信息,并且我在linux设备上看到了鼠标和键盘,而不是在Android设备上。

我使用android 4.2.2。 是否有可能获得与USB主机鼠标(和键盘)的隐藏数据,或者我必须找到其他方式?

感谢您的帮助


您可以通过InputManager检测鼠标/键盘:

if(Build.VERSION.SDK_INT > 15) {
    InputManager inptmgr = (InputManager)getSystemService(INPUT_SERVICE);
    int[] inputs = inptmgr.getInputDeviceIds();
    for(int i = 0;i<inputs.length;i++) {
        String devicename = inptmgr.getInputDevice(inputs[i]).getName();
        if(devicename.toLowerCase().contains("mouse")) {

        } else if(devicename.toLowerCase().contains("keyboard")) {

        }
    }
}

至于其他您可能希望收集的数据,您可以浏览getInputDevice()下的所有其他方法,例如getVendorId()getProductId()getMotionRange()getKeyCharacterMap()等。

希望这可以帮助!


如果您已经可以使用HID设备进行输入,它将作为输入设备(键盘或鼠标)工作,并且无需将其作为USB设备访问。 您可以简单地通过诸如OnKeyListener等侦听器来捕获设备的输入。

链接地址: http://www.djcxy.com/p/58315.html

上一篇: Can't see mouse and keyboard device with usbManager android

下一篇: binding a android bluetooth server to a socket