Android usb host library with rxjava support
RxAndroidUsb rxAndroidUsb = RxAndroidUsb.getInstance(getApplicationContext());
rxAndroidUsb
.rxOnDetached()
.doOnNext(usbDevice -> displayMessage("DETACH: " + usbDevice.toString()))
.observeOn(Schedulers.newThread()).subscribe();