0
我想在用户连接或断开USB设备时触发事件。我有以下代码:检测USB状态更改android java
public static boolean isConnected(Context context) {
Intent intent = context.registerReceiver(null, new IntentFilter("android.hardware.usb.action.USB_STATE"));
return intent.getExtras().getBoolean("connected");
}
以上是来自另一个StackOverflow问题。
我该如何解决我面临的问题?如果状态发生变化,我认为每隔x秒检查一次并不实际。所以,我在网上查了一个关于USB_CONNECTION的事件监听器,但我似乎找不到任何东西。其实,我确实找到了一些,但他们很混乱,很老。 (一两年以前。)
受审CODE
while(notFinished) {
if (!isConnected(this)) {
pause();
} else if (!mediaPlayer.isPlaying() && isConnected(this)) {
play();
} else {
Log.e("[ERROR]: ", "An error has occured at startSong!");
}
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
^^^显然效率不高,但它的工作(有点)。所以,这就是为什么我来这里来了解是否有USB_CONNECTION_STATUS的监听器。我认为这会快很多。