检测连接的 USB 设备

Posted

技术标签:

【中文标题】检测连接的 USB 设备【英文标题】:Detect connected USB device 【发布时间】:2019-10-24 15:58:52 【问题描述】:

我正在开发一个 android 应用程序,该应用程序必须检测 USB 转换器(例如 USB-C 到 USB 微型公对母转换器)是否连接到正在使用的设备。从this 链接我认为这可能适用于 USB micro 和 USB-C,因为两者都有一个用于“模式检测”的 ID 引脚。

我已经查看了 *** 上的 this 帖子,该帖子可用于检测设备是否连接到 PC,但不适用于检测来自(例如)插入的转换器的 USB 连接。

所以我想知道的是:

    是否可以检测到设备是否插入了 USB 转换器? 如果是这样,如何以编程方式检测到这一点?

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

您应该在清单中使用 USB_DEVICE_ATTACHED Intent。要在连接设备时自动启动您的应用,您还应该指定 device_filter.xml

<activity ...>
...
    <intent-filter>
        <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/device_filter" />
</activity>

您可以找到更多说明here

【讨论】:

以上是关于检测连接的 USB 设备的主要内容,如果未能解决你的问题,请参考以下文章

如何在 linux/Qt 中检测 USB 连接

为了检测连接的 USB,我必须检查啥接口?

批量 USB 设备连接和编程

Xamarin Android C#:使用 xml 资源文件夹和清单来定义用于检测连接的 USB 设备崩溃应用程序的意图过滤器

苹果笔记本无法识别usb设备

获取连接的 USB 设备的 /dev 设备路径