1、写个广播接收者:
BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (UsbManager.ACTION_USB_DEVICE_DETACHED.equals(action)) {
Log.e(TAG, "拔出usb了");
UsbDevice device = (UsbDevice) intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
if (device != null) {
Log.e(TAG, "设备的ProductId值为:" + device.getProductId());
Log.e(TAG, "设备的VendorId值为:" + device.getVendorId());
}
} else if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) {
Log.e(TAG, "插入usb了");
}
}
};
2、生成变量:
private IntentFilter usbDeviceStateFilter;
3、注册:
usbDeviceStateFilter = new IntentFilter();
usbDeviceStateFilter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
usbDeviceStateFilter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
registerReceiver(mUsbReceiver, usbDeviceStateFilter);
4、注销:
if (mUsbReceiver != null) {
unregisterReceiver(mUsbReceiver);
mUsbReceiver = null;
}
5、效果:
参考: