USB通讯,首先获取
vendor-id="4292" product-id="60000"
根据vid和pid判断连接设备
判断是否插入USB设备
private boolean enumSensor() { UsbManager usbManager = (UsbManager) this.getSystemService(Context.USB_SERVICE); for (UsbDevice device : usbManager.getDeviceList().values()) { int device_vid = device.getVendorId(); int device_pid = device.getProductId(); if (device_vid == VID && device_pid == PID) { return true; } } return false; }
连接对应设备
public void initUSBPermission(int vid, int pid){ UsbManager usbManager = (UsbManager)mContext.getSystemService(Context.USB_SERVICE); UsbDevice usbDevice = null; for (UsbDevice device : usbManager.getDeviceList().values()) { int device_vid = device.getVendorId(); int device_pid = device.getProductId(); if (device_vid == vid && device_pid == pid) { usbDevice = device; break; } } if (null == usbDevice) { zknirusbManagerListener.onCheckPermission(-1); return; } this.vid = vid; this.pid = pid; if (!usbManager.hasPermission(usbDevice)) { Intent intent = new Intent(this.ACTION_USB_PERMISSION); PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, 0, intent, 0); usbManager.requestPermission(usbDevice, pendingIntent); } else { zknirusbManagerListener.onCheckPermission(0); } }
USB刷卡器