我的应用程序没有捕获“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):

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐