我在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
对不起,我真的不理解你的回应。你可以发布一个简短的代码*的例子,将广播? –
真棒,谢谢! –