关于区分安卓设备 usb 接口的问题

295 天前
 aaorn1201

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

3733 次点击
所在节点    Android
7 条回复
felixlong
295 天前
系统底层当然知道。不知道它怎么跟设备交换数据。PID/VID 是 USB 设备必须支持的属性。你可能查错文档了,或者你正在使用厂家 wrap 好了的 API.
aaorn1201
295 天前
@felixlong 对应该是厂家 api 封装了,对开发者来说收到的数据没有 pid 、vid ,所以说这种情况安卓系统层面有办法知道数据来自哪个 usb 接口吗?
x77
295 天前
USB 设备属性的东西应该和操作系统打交道,通过操作系统提供的 API 来获取设备信息。Windows 系统有操作 USB 的 API ,Android 在应用层可能没提供,估计的走 JNI 到 Native 去问问 Linux 。
kalixi
295 天前
usb 设备可以拿到设备码之类的,或者 知道 设备是哪个 usb 口,以此作为 处理 业务逻辑的 区分
stuazt
294 天前
如果你是在厂家封装好的 sdk 上层开发的,只能依赖厂商帮你区分。
aaorn1201
293 天前
@stuazt 对是厂家封装好的 sdk ,应用层面看来没办法了,安卓系统层面有办法知道数据来自哪个 usb 接口吗?
busier
288 天前
Usb 控制器有自己的 port id 呀

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/957671

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX