- UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
- HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
- Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
- StringBuilder sb = new StringBuilder();
- while (deviceIterator.hasNext()){
- UsbDevice usbDevice = deviceIterator.next();
- sb.append("DeviceName="+usbDevice.getDeviceName()+"\n");
- sb.append("DeviceId="+usbDevice.getDeviceId()+"\n");
- sb.append("VendorId="+usbDevice.getVendorId()+"\n");
- sb.append("ProductId="+usbDevice.getProductId()+"\n");
- sb.append("DeviceClass="+usbDevice.getDeviceClass()+"\n");
- int deviceClass = usbDevice.getDeviceClass();
- if(deviceClass==0) {
- UsbInterface anInterface = usbDevice.getInterface(0);
- int interfaceClass = anInterface.getInterfaceClass();
- sb.append("device Class 爲0-------------\n");
- sb.append("Interface.describeContents()="+anInterface.describeContents()+"\n");
- sb.append("Interface.getEndpointCount()="+anInterface.getEndpointCount()+"\n");
- sb.append("Interface.getId()="+anInterface.getId()+"\n");
- //http://blog.csdn.net/u013686019/article/details/50409421
- //http://www.usb.org/developers/defined_class/#BaseClassFFh
- //通過下面的InterfaceClass 來判斷到底是哪一種的,例如7就是打印機,8就是usb的U盤
- sb.append("Interface.getInterfaceClass()="+anInterface.getInterfaceClass()+"\n");
- if(anInterface.getInterfaceClass()==7){
- sb.append("此設備是打印機\n");
- }else if(anInterface.getInterfaceClass()==8){
- sb.append("此設備是U盤\n");
- }
- sb.append("anInterface.getInterfaceProtocol()="+anInterface.getInterfaceProtocol()+"\n");
- sb.append("anInterface.getInterfaceSubclass()="+anInterface.getInterfaceSubclass()+"\n");
- sb.append("device Class 爲0------end-------\n");
- }
- sb.append("DeviceProtocol="+usbDevice.getDeviceProtocol()+"\n");
- sb.append("DeviceSubclass="+usbDevice.getDeviceSubclass()+"\n");
- sb.append("+++++++++++++++++++++++++++\n");
- sb.append(" \n");
- }
- textView.setText(sb);
- }
android 檢測USB是U盤還是外設
1
根據不同anInterface.getInterfaceClass()就可以看出來是什麼,我已經試出來3是外設,7是打印機,8是U盤,其他的值,你可以根據與自己的需要,插上看看打印是什麼。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.