62,634
社区成员




这是某宝上买的一个NFC读卡器,这几天想自己尝试写一个读取卡的小程序。
然后,程序总不能正确发现的连接设备。
我试过用两种方式:
一、TerminalFactory factory = TerminalFactory.getDefault();
二、用Usb4java读取。
第一种方法用的是网上一个例子,这种方法在 获取终端设备时出错
List terminals = factory.terminals().list();
第二种方法是通过VID和PID获取的设备(同一VID和PID竟然有两个设备在设备管理器中?),在claim出现异常
iface.claim(new UsbInterfacePolicy() {
@Override
public boolean forceClaim(UsbInterface usbInterface) {
return true;
}
});
异常:
Exception in thread "usb4java Device Scanner" org.usb4java.javax.ScanException: Unable to scan for USB devices: javax.usb.UsbPlatformException: USB error 99: Unable to get USB device list: Other error
at org.usb4java.javax.DeviceManager.scan(DeviceManager.java:187)
at org.usb4java.javax.DeviceManager.scan(DeviceManager.java:281)
at org.usb4java.javax.DeviceManager$1.run(DeviceManager.java:372)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.usb.UsbPlatformException: USB error 99: Unable to get USB device list: Other error
at org.usb4java.javax.ExceptionUtils.createPlatformException(ExceptionUtils.java:39)
at org.usb4java.javax.DeviceManager.updateDeviceList(DeviceManager.java:221)
at org.usb4java.javax.DeviceManager.scan(DeviceManager.java:183)
... 3 more
问题:如何解决这个问题?
或,两种方式如何正确发现终端?
或,有其他编程思路。