我的应用程序不捕获"action_usb_device_attached",但"action_usb_device_detached"工作正常。 如果连接usb设备,但在执行过程中断开连接,则应用程序启动正确。BroadcastReceiver 右键捕获"action_usb_device_detached"。 如果我再次附加 BroadcastReceiver,则不捕获任何内容。IntentFilter filter = new IntentFilter();
filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
rocrailService.registerReceiver(mUsbReceiver, filter);
//BroadcastReceiver when insert/remove the device USB plug into/from a USB port
BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
System.out.println("BroadcastReceiver Event");
if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) {
mSerial.usbAttached(intent);
mSerial.begin(mBaudrate);
loadDefaultSettingValues();
Run=true;
start();
System.out.println("BroadcastReceiver USB Connected");
} else if (UsbManager.ACTION_USB_DEVICE_DETACHED.equals(action)) {
mSerial.usbDetached(intent);
mSerial.end();
Run=false;
System.out.println("BroadcastReceiver USB Disconnected");
}
}
和清单:
package="net.DCCWLocoDisplay"
android:versionCode="0"
android:versionName="0">
android:icon="@drawable/dccw"
android:label="@string/app_name">
android:resource="@xml/device_filter"/>
设备筛选器( 我检查供应商和产品 id ):