使用Jelly Bean的简单安全配对(蓝牙)与NFC配对

时间:2012-07-16 07:52:25

标签: android bluetooth nfc

从#io2012和JellyBean doc开始,现在有一种通过NFC配对蓝牙设备的方法。

这听起来很不错,但我找不到任何关于它的文档。

我特别想知道它是否适用于不支持SDP的SPP模块 - 我可以简单地用PIN信息写一些NFC标签并且设备配对吗?对于很多用户来说,这会对PIN配对过程有所帮助。

3 个答案:

答案 0 :(得分:6)

JellyBean支持两种蓝牙配对NDEF消息。一些由诺基亚定义的Bluetooth SIG together with the NFC Forum和(较旧的)专有定义的标准化版本(请参阅http://www.developer.nokia.com/Community/Wiki/Nokia_6131_NFC_-_FAQs#SDK_APIsHandoverManager处查看“将诺基亚6131 NFC与蓝牙成像设备连接的标签格式是什么?”详情)。

标准化版本不支持PIN。它仅支持新的简单配对方法。诺基亚类型的消息支持PIN。但是,当从Android中读取相关的源代码来解析此类蓝牙配对NDEF消息({{3}}中的parseNokia())时,您可以看到甚至没有从NDEF消息中读取PIN。因此,最终只会尝试使用Android蓝牙管理器中的内置PIN(默认值为0000和1234)来设置连接,如果设备尚未知道并在读取标签之前配对(在这种情况下, NFC标签仅用作激活连接的方式。

我还有一种印象,即Android中的这一新功能首先应该适用于头戴式设备等音频设备。我不知道它是否也适用于SSP设备(没有设备可以自己测试)。

答案 1 :(得分:2)

是的,你可以简单地创建一个带有蓝牙配对信息的NFC标签。无论如何它只会在设备使用默认引脚时才能工作,因为Android只会尝试默认引脚0000。您可以使用恩智浦的NFC TagWriter编程这样的标签。

答案 2 :(得分:2)

您可能想看看斯坦福大学的EasyNFC library on GitHub

特别是BluetoothConnector似乎很有意思,因为它“帮助开发人员跨设备建立持久的蓝牙连接”。