我正在尝试在我的应用中使用USB附件。它运作良好,但我有一个问题。
如果我在我的清单中放置了USB_ACCESSORY_ATTACHED intent-filter,那么应用程序会在设备插入时自动启动。这没关系,但有时当我拔下设备并将其重新插入时,应用程序会启动第二个时间。
很好,我真的不想让它自动启动,所以我删除了intent-filter。删除intent-filter工作效果最好,但每次都要求用户权限,并忽略默认情况下此USB配件的使用情况'复选框。
有没有办法使用intent-filter而不是让app自动启动?
为什么我的应用程序在运行应用程序时会自动启动?
感谢。
答案 0 :(得分:3)
通过更改清单中活动的android:launchMode设置,我能够阻止应用程序第二次启动USB连接。
我将launchMode更改为“singleTop”。
所有讨论Android Accessory和intent过滤器的教程都没有提到launchMode设置。对于撰写这些教程的所有人,包括谷歌,当它对Android附件和意图过滤器的工作方式产生重大影响时,似乎是一个明显的疏忽。