项目需要插入U盘时跳转页面,后来又加入了USB安防头(摄像头),导致插入安防头后同样也跳转到U盘插入的页面了。
经过调查和研究找到了区分的办法,下面是具体的实现:在此记录一下
在监听U口的广播里
private BroadcastReceivermOtgReceiver =new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
UsbDevice device = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
UsbInterface anInterface = device.getInterface(0);
int interfaceClass = anInterface.getInterfaceClass();
Log.i(TAG,"检测到U口设备插入:" +"Id:" + anInterface.getId() +"\n" +"InterfaceClass:" + anInterface.getInterfaceClass());
if (action !=null) {
switch (action) {
case ACTION_USB_PERMISSION://接受到自定义广播
break;
case UsbManager.ACTION_USB_DEVICE_ATTACHED://接收到存储设备插入广播
if (interfaceClass ==8) {
Log.i(TAG,"管理员通过U口,插入U盘");
startUSBActivity(SocketAndIotService.this, ReadUDiskActivity.class);
}else {
Log.i(TAG,"管理员通过U口,插入外接设备");
}
break;
case UsbManager.ACTION_USB_DEVICE_DETACHED://接收到存储设备拔出广播
if (interfaceClass ==8) {
Log.i(TAG,"管理员移除U盘");
}else {
Log.i(TAG,"管理员移除外接设备");
}
break;
}
}
}
};
希望能给需要的人带来帮助。