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的監聽器。我認爲這會快很多。