检测连接的 USB 设备

Detect connected USB device

我正在开发一个 Android 应用程序,它必须检测 USB 转换器(例如 USB-C 到 USB 微型公转母转换器)是否连接到正在使用的设备。来自 this link 我认为这可能适用于 USB micro 和 USB-C,因为它们都有一个用于 "Mode Detect" 的 ID 引脚。

我已经在 Whosebug 上查看了 this post,它可以检测设备是否连接到 PC,但不能检测 USB 连接(例如)插入的转换器。

所以我想知道的是:

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

如有任何帮助,我们将不胜感激。

您应该在清单中使用 USB_DEVICE_ATTACHED 意图。要在连接设备时自动启动您的应用程序,您还应该指定 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