请问如果安卓设备上有 4 个 usb 接口,这 4 个接口连接了 4 个相同的 usb 设备,比如指纹模块。当用户在其中一个指纹模块上进行指纹匹配操作时,安卓系统如何知道此次操作发生在了 1~4 的哪一个指纹模块上? PS ,指纹模块 api 不支持返回 pid 、vid ,仅返回比如匹配成功与否等数据。那安卓能否在系统层面知道此次返回的数据发生在了哪个 usb 接口? 感谢~

请问如果安卓设备上有 4 个 usb 接口,这 4 个接口连接了 4 个相同的 usb 设备,比如指纹模块。当用户在其中一个指纹模块上进行指纹匹配操作时,安卓系统如何知道此次操作发生在了 1~4 的哪一个指纹模块上? PS ,指纹模块 api 不支持返回 pid 、vid ,仅返回比如匹配成功与否等数据。那安卓能否在系统层面知道此次返回的数据发生在了哪个 usb 接口? 感谢~
1 felixlong Jul 18, 2023 系统底层当然知道。不知道它怎么跟设备交换数据。PID/VID 是 USB 设备必须支持的属性。你可能查错文档了,或者你正在使用厂家 wrap 好了的 API. |
2 aaorn1201 OP @felixlong 对应该是厂家 api 封装了,对开发者来说收到的数据没有 pid 、vid ,所以说这种情况安卓系统层面有办法知道数据来自哪个 usb 接口吗? |
3 x77 Jul 18, 2023 USB 设备属性的东西应该和操作系统打交道,通过操作系统提供的 API 来获取设备信息。Windows 系统有操作 USB 的 API ,Android 在应用层可能没提供,估计的走 JNI 到 Native 去问问 Linux 。 |
4 kalixi Jul 18, 2023 usb 设备可以拿到设备码之类的,或者 知道 设备是哪个 usb 口,以此作为 处理 业务逻辑的 区分 |
5 stuazt Jul 19, 2023 如果你是在厂家封装好的 sdk 上层开发的,只能依赖厂商帮你区分。 |
7 busier Jul 25, 2023 via Android Usb 控制器有自己的 port id 呀 |