确定使用了哪个 USB 端口

shu*_*rok 5 usb android

问题是:如何(以编程方式)确定插入 USB 闪存驱动器时使用了哪个 USB 端口?

语境:

我正在为 Android 电视盒开发一个应用程序,让您可以查看 Pendrive 中的文件。我的设备有 3 个 USB 端口。我想知道使用了哪个端口(某种 ID、端口名称,任何可以帮助我在代码中识别它的内容)。

我做了什么:

  1. 我阅读了有关USB 作为主机的android 文档。没有一个类包含此类信息。API 仅列出已插入的设备,但没有有关 USB 插座的信息。这deviceName是一个字符串,包含在 Android 系统中创建的设备文件的路径,但每次插入 USB 闪存驱动器时它都会发生变化(看起来像这样/dev/bus/usb/007/008,最终的数字每次都不同)。
  2. 通过命令查看 android sys 文件adb shell,但找不到任何描述 USB 端口并说明当前正在使用哪个端口的信息。

也许有人遇到过类似的问题?我真的很感激任何帮助。提前致谢!

小智 0

Android 操作系统不会公开您正在查找的信息。

只有通过 root 访问下面的底层 Linux 系统,才能获取该信息。

用于lsusb枚举 USB 设备,并dmesg 关联mount驱动器的安装点。