java - 设置 UsbDeviceListener javax.usb/usb4java

标签 java usb listener addeventlistener

我尝试设置 UsbDeviceListener,但当我断开设备连接或在设备上创建新文件时,没有任何反应。
有人可以告诉我我的代码问题出在哪里吗?

public static void listPeripherique(UsbHub hub) {
 List perepheriques = hub.getAttachedUsbDevices();
 Iterator iterator = perepheriques.iterator();
 while (iterator.hasNext()) {
   UsbDevice perepherique = (UsbDevice) iterator.next();
   perepherique.addUsbDeviceListener(new UsbDeviceListener() {

        @Override
        public void usbDeviceDetached(UsbDeviceEvent arg0) {
            System.out.println("connect " + arg0);

        }

        @Override
        public void errorEventOccurred(UsbDeviceErrorEvent arg0) {
            System.out.println("disconect " + arg0);

        }

        @Override
        public void dataEventOccurred(UsbDeviceDataEvent arg0) {
            System.out.println("new data on " + arg0);  
        }
    });
  }
  if (perepherique.isUsbHub()) {
    listPeripherique((UsbHub) perepherique);
  }
} 

编辑:它仅适用于 USB 分离。

最佳答案

您介意向用户提供有关您的环境(Linux、Win、OSX)以及 USB 设备类型(Stick、游戏 handle 、DVD 刻录机、加密狗、iP(a|o)d、iPhone、智能手机)的更多详细信息吗?但是,如果您使用 Windows,则驱动程序似乎已过时:JSR80 :这是一个已废弃的 Windows 实现。它不起作用,它需要内核驱动程序。

让我们随时了解您的项目和进度。

编辑

我用 Logitech Wingman Controller 进行了尝试,可以确认仅引发 usbDeviceDetached 事件。我认为驱动程序确实过时了:(

关于java - 设置 UsbDeviceListener javax.usb/usb4java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21235194/

相关文章:

android - 我怎么不能同时点击多个按钮?

Android onLoadCompleteListener如何实现?

python - 鼠标监听 on_move 事件

Java枚举函数返回值

java - 无法在 Android 中登录 OpenERP

javascript - OrientDB javascript函数返回错误400

c# - 有没有办法检测 Windows 是否正在安装设备驱动程序?

java - 如何通过 Jenkins 中的 Shell 脚本运行 TestNG.xml?

Android 6 Nexus 5 USB 连接问题

安卓主机 : connection with a Mass storage USB device