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

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

  •  
  •   aaorn1201 · 2023-07-18 12:43:41 +08:00 · 8256 次点击
    这是一个创建于 529 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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