【问题标题】:Android BLE Numeric Comparison Pairing ImplementationAndroid BLE 数值比较配对实现
【发布时间】:2023-02-08 03:44:29
【问题描述】:

我们如何为 Android 实现数字比较?

我做了很多研究,我知道我需要将 IOCapability 设置为 KeyboardDisplay。

并且如果其他BLE设备自身的IOCapability使其与Numeric Comparison的矩阵结果相匹配,它将与Numeric Comparison进行配对。

但是我在网上找不到任何示例代码。

我们应该以某种方式使用 BluetoothConfigManager 来正确设置 IO 功能?

IE。使用 setIa Capability(in capability) 和 IO_CAPABILITY_KBDISP

看这里:https://developer.android.com/reference/com/google/android/things/bluetooth/BluetoothConfigManager

谢谢。

【问题讨论】:

    标签: android kotlin bluetooth bluetooth-lowenergy android-bluetooth


    【解决方案1】:

    你是对的,通常两个设备的 IO 功能决定是否应该出现配对弹出窗口,但是,Android 不是这种情况。在 Android 上,这通常由设备硬件处理,因此不幸的是,无法保证您可以弹出配对对话框。但是,您可以使用过去对其他人有用的技巧。看看下面的链接:-

    【讨论】:

      【解决方案2】:

      Android 中的配对由系统处理。系统设置 IO Capabilities。对于普通的智能手机,您通常同时拥有显示屏和键盘,因此将使用它们。任何最新的 Android 版本还支持 LE 安全连接 (LESC),其中引入了数字比较。

      正如您所说,只要远程设备具有显示和是/否输入作为 IO 能力并支持 LESC,就会使用数字比较。

      如果情况并非如此,请检查 hci 日志或使用空气嗅探器检查配对请求和配对响应消息,以查看每个设备宣布的功能。

      【讨论】:

        【解决方案3】:

        我终于能够让数字比较配对终于起作用了! 我正在使用 Nordic BLE 库,并使用 createBond() 提示 Android 操作系统处理整个数字比较过程(见下图)。

        我认为这是记录这一点的重要一步,因为我在互联网上到处搜索了示例代码/实现,但找不到任何东西。这可能是第一个。

        如果您不使用 Nordic BLE 库,我认为与创建键相关的普通库函数也会做同样的事情。

        【讨论】:

          猜你喜欢
          • 2023-03-29
          • 2017-02-14
          • 1970-01-01
          • 2015-03-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多