我想通过USB_DEVICE_ATTACHED操作启动我的应用。它工作正常,但我的应用启动了两次。是否可以检查USB_DEVICE_ATTACHED消息是否两次出现(也许根据该消息打印PID VID对?)
出于测试目的,我制作了一个接收器,并在连接时编写了所有PID VID对,并且其中的一个会触发我的应用程序启动。 (我尝试通过接收器功能在此处启动该应用,但主要活动无法到达USB设备(可能是权限问题)
我的硬件是ODroid XU4,并且具有3个USB设备(触摸屏,打印机,POS终端)
这是我的清单:
<activity
android:name=".MainActivity"
android:launchMode="singleInstance">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/usb_device_filter" />
</activity>
这是我的usb_device_filter.xml:
<resources>
<usb-device vendor-id="4177" product-id="4096" />
</resources>