在Android上不绑定的BLE配对

时间:2018-08-30 15:35:09

标签: android bluetooth-lowenergy android-bluetooth

我的Android手机应该可以连接到几个外围设备。为了保护链接,我在外围设备上实现了BLE安全连接。 由于我唯一想要的就是加密链接,并且我不希望用户将我的所有外围设备都包含在绑定设备列表中,因此我不想绑定。

那么是否可以仅与设备配对,然后在断开连接后忘记它(而不必担心出现“绑定请求”对话框)?


一些背景信息:

蓝牙规范(v4.2和v5)告诉我,绑定或仅配对(在连接后将密钥扔掉)应该与一个可以设置和不要求绑定的标志一样简单。 (在我的外围设备上就是这么简单。)

我已经知道,我可以将设备与BluetoothDevice.createBond()配对+绑定,这样可以很好地在后台绑定,而无需任何讨厌的对话框。

1 个答案:

答案 0 :(得分:1)

如果将外围设备的绑定标志设置为0,并且io功能设置为无输入无输出,则将完成Just Works配对(无对话框)。我还猜想Android将尊重您在外围设备上设置的绑定标志,并且不将设备信息存储在绑定列表中,因为否则它不符合规范。 createBond方法仍然是您应该调用的方法。

在这种情况下,您获得的安全性只是一个简单的Diffie-Hellman交换,即针对窃听者的安全性,而不是针对中间人的安全性。