我在ICS中,正在嘗試安裝一個接收器,當USB設備和/或配件插入/接出平板電腦時將會調用該接收器。我在這個意向註冊中錯過了什麼?
根據文檔和其他Stack問題,它*看起來像我應該需要的是下面的代碼,但是當我運行此代碼時什麼也沒有發生......很難說,導致我的設備有USB配件插入/退出它,所以我的調試只是我寫東西來文件,而不是實際的調試,但它似乎沒有做任何事情。
IntentFilter attachFilter = new IntentFilter();
attachFilter.addAction(ACTION_USB_PERMISSION);
attachFilter.addAction(UsbManager.ACTION_USB_ACCESSORY_ATTACHED);
registerReceiver(mAttachReceiver, attachFilter);
IntentFilter detachFilter = new IntentFilter();
detachFilter.addAction(ACTION_USB_PERMISSION);
detachFilter.addAction(UsbManager.ACTION_USB_ACCESSORY_ATTACHED);
registerReceiver(mDetachedReceiver, detachFilter);
接收器看起來像這樣(我剪下來的簡潔但他們的有效接收器)...
private final BroadcastReceiver mAttachReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
logMsg("ACTION = " + action);
... }
}
我的清單包含此項:
<uses-feature android:name="android.hardware.usb.host" />
有什麼我失蹤了嗎?我已經嘗試了ACTION_USB_DEVICE_ATTACHED而不是ACCESSORY,但似乎沒有產生任何不同的結果。另外,一旦連接後,我可以與應用程序中的設備進行通話,因此,它已被識別,並且從連接的設備(它是NFC讀卡器)發送/接收消息的後續代碼按預期工作。唯一持續失敗的是初始電纜連接的通知。
TIA
對不起,我真的不理解你的迴應。你可以發佈一個簡短的代碼*的例子,將廣播? –
真棒,謝謝! –