1、通过如下Action监控USB设备的插入或拔出
UsbManager.ACTION_USB_ACCESSORY_ATTACHED;UsbManager.ACTION_USB_ACCESSORY_DETACHED;UsbManager.ACTION_USB_DEVICE_ATTACHED;UsbManager.ACTION_USB_DEVICE_DETACHED;
2、获取USB设备等信息尝试使用了两种方式:
a. 此处没有使用UsbManager来获取设备信息,因为我们的Android终端上用USBManager.getDeviceList()获取到的信息是底层设备路径信息,并没有实际使用的意义;而用UsbManager.getAccessoryList()获取到的是null,所以这种方法放弃
b. 使用InputManager可以获取到详细的外接设备信息,设备名称、类型等详细信息,代码如下:
InputManager inputManager = (InputManager) getSystemService(Context.INPUT_SERVICE);int[] devIds = inputManager.getInputDeviceIds();for(int devId : devIds){InputDevice device = inputManager.getInputDevice(devId);if(device != null){Log.e(THIS_FILE, "Input device name : " + device.getName() + "---- info: " +device.toString());}}