2

我正在使用 listenUsingInsecureRfcommWithServiceRecord 和 createInsecureRfcommSocketToServiceRecord 调用来将一个 Android 设备连接到另一个。

在第一个设置中,我有一个 Nexus One 和一个 Nexus S 都运行 Android 2.3.6 - 在这个设置中,连接没有弹出“配对请求”对话框。

在第二个设置中,我使用运行 Android 2.3.3 的三星 Galaxy S2 尝试了相同的 Nexus One——在此设置中,两台设备上都弹出了“配对请求”对话框。这很奇怪,因为这两个设备都在 API 级别 10 上,应该支持不安全的连接。

有没有其他人遇到过这种奇怪的行为?有人可以验证这是 2.3.3 中的问题,还是我测试的特定模型中的问题?有什么解决方法吗?

如有必要,我可以从 logcat 发布相关部分。

4

1 回答 1

3

根据蓝牙 v2.1,GAP,第 5.2.2 节:

当两个设备都支持安全简单配对时,GAP 应默认要求未经身份验证的链接密钥并启用加密。

所以要启用加密蓝牙需要创建一个链接密钥......因此需要SSP配对。

不知道在Android中是否可以避免这种情况。

否则处理身份验证事件并确认这对——这对很可能是只需要确认的“Just Works”表单(没有密码等)。

于 2012-01-04T10:30:19.497 回答