问题描述
在此代码中,我只能获得 busNumber、address、idvendor 和 idProduct。我可以使用这种方法获取设备名称和产品描述吗? 而且我不知道为什么它会显示更多设备,例如没有连接的设备仍然显示三个设备。
public void ListUsb() throws IOException
{
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
Context context = new Context();
int result = LibUsb.init(context);
if (result < 0)
{
throw new LibUsbException("Unable to initialize libusb",result);
}
DeviceList list = new DeviceList();
result = LibUsb.getDeviceList(context,list);
if (result < 0)
{
throw new LibUsbException("Unable to get device list",result);
}
try
{
for (Device device: list)
{
int address = LibUsb.getDeviceAddress(device);
int busNumber = LibUsb.getBusNumber(device);
DeviceDescriptor descriptor = new DeviceDescriptor();
result = LibUsb.getDeviceDescriptor(device,descriptor);
if (result < 0)
{
throw new LibUsbException(
"Unable to read device descriptor",result);
}
System.out.format("Bus %03d,Device %03d: vendor %04x,Product %04x%n ",busNumber,address,descriptor.idvendor(),descriptor.idProduct());
}
}
finally
{
LibUsb.freeDeviceList(list,true);
}
LibUsb.exit(context);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)