Android USB 附件 intent 过滤器,不希望它自动启动应用程序

Android USB Accessory intent filter, don't want it to auto-launch app

我正在尝试在我的应用程序中使用 USB 附件。它运行良好,但我有一个问题。

如果我将 USB_ACCESSORY_ATTACHED intent-filter 放在我的清单中,那么应用程序会在设备插入时自动启动。这很好,但有时当我拔下设备并重新插入时然后应用程序第二次启动。

好吧,我真的不希望它自动启动,所以我删除了 intent-filter。删除 intent-filter 效果最好,但它每次都会请求用户许可并忽略 'use by default for this USB accessory' 复选框。

有没有办法使用 intent-filter 而不让应用程序自动启动?

为什么我的应用程序在我已有应用程序时自动启动 运行?

谢谢。

通过更改清单中 activity 的 android:launchMode 设置,我能够在 USB 连接时阻止应用程序第二次启动。

我将启动模式更改为 "singleTop"。

所有讨论 Android 附件和意图过滤器的教程,其中 none 提到了 launchMode 设置。似乎是对所有编写这些教程的人(包括 Google)的明显疏忽,因为它对 Android 附件和意图过滤器的工作方式有很大影响。