一、需求
在Android 开发过程中,在App中实现检测USB是否插入。
二、实现过程
1、使用UsbManager.ACTION_USB_DEVICE_DETACHED和UsbManager.ACTION_USB_DEVICE_ATTACHED检测USB的插拔无法实现。
2、使用UsbManager.ACTION_USB_STATE和UsbManager.ACTION_USB_CONNECTED
private boolean isUsbPlugged() {
Intent usbStateIntent = registerReceiver(null, new IntentFilter(UsbManager.ACTION_USB_STATE));
if (usbStateIntent == null) {
return false;
}
final String usbAction = usbStateIntent.getAction();
if (UsbManager.ACTION_USB_STATE.equals(usbAction)) {
Bundle extras = usbStateIntent.getExtras();
boolean connected = extras.getBoolean(UsbManager.USB_CONNECTED);
if (connected) {
Toast.makeText(AgingTest.this, "USB inserted!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(AgingTest.this, "USB no inserted!", Toast.LENGTH_SHORT).show();
}
}
return true;
}