V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aaorn1201
V2EX  ›  Android

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

  •  
  •   aaorn1201 · 284 天前 · 3493 次点击
    这是一个创建于 284 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    7 条回复    2023-07-25 19:13:45 +08:00
    felixlong
        1
    felixlong  
       284 天前
    系统底层当然知道。不知道它怎么跟设备交换数据。PID/VID 是 USB 设备必须支持的属性。你可能查错文档了,或者你正在使用厂家 wrap 好了的 API.
    aaorn1201
        2
    aaorn1201  
    OP
       284 天前
    @felixlong 对应该是厂家 api 封装了,对开发者来说收到的数据没有 pid 、vid ,所以说这种情况安卓系统层面有办法知道数据来自哪个 usb 接口吗?
    x77
        3
    x77  
       284 天前
    USB 设备属性的东西应该和操作系统打交道,通过操作系统提供的 API 来获取设备信息。Windows 系统有操作 USB 的 API ,Android 在应用层可能没提供,估计的走 JNI 到 Native 去问问 Linux 。
    kalixi
        4
    kalixi  
       284 天前
    usb 设备可以拿到设备码之类的,或者 知道 设备是哪个 usb 口,以此作为 处理 业务逻辑的 区分
    stuazt
        5
    stuazt  
       283 天前
    如果你是在厂家封装好的 sdk 上层开发的,只能依赖厂商帮你区分。
    aaorn1201
        6
    aaorn1201  
    OP
       282 天前
    @stuazt 对是厂家封装好的 sdk ,应用层面看来没办法了,安卓系统层面有办法知道数据来自哪个 usb 接口吗?
    busier
        7
    busier  
       276 天前 via Android
    Usb 控制器有自己的 port id 呀
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2870 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 06:58 · PVG 14:58 · LAX 23:58 · JFK 02:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.