Android连接到USB设备时禁用默认应用程序选择提示

时间:2016-05-26 21:21:55

标签: android usb intentfilter

我有一个需要连接到Usb设备的Android应用。我使用了意图过滤器来获取设备的权限,但是,每次我使用USB设备连接手机时,Android都会自动提示选择要使用USB设备打开的默认应用程序。我知道设备的所有默认应用都是由具有意图过滤器<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />

的活动决定的

所以我的问题是,如何禁用设备的提示?无论应用程序是否打开,提示始终显示在连接设备时,这对我来说真的很烦人。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我刚发现有一种方法可以解决问题。提示。

  1. 创建空白活动,使用USB附加过滤器添加intent-filter <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />

  2. 删除所有其他活动的USB Attach意图过滤器,并在这些活动中手动添加requestPermission。因为空白活动会记住整个应用程序的USB权限,所以一旦这些活动授予用户USB许可,则授予整个应用程序。因为现在只有空白活动注册了USB附加意图过滤器,所以当USB设备插件默认启动此空白活动

  3. 在空白活动onCreate中,请致电onBackPressed,以便一旦启动空白活动,它就会自动返回,因为这非常快,所以用户不应该这样做; t实现任何改变。

  4. 因此,当应用程序打开时,插件usb设备就像用户没有发生任何事情一样。