有人能告诉我如何查找手机连接到其他设备时使用的配对技术吗?
我有一个Nexus S(Android 2.3.3)和一个BT设备(Bluetooth2.1 + EDR)。
当我尝试将它们配对时,我不需要输入任何密码。由于两个设备都具有蓝牙2.1,我想知道它们使用了哪种配对技术。
我们可以指定手机使用的配对技术吗?
当两个设备的蓝牙版本均达到2.1及以上时,会使用安全简单配对(SSP)而不是传统配对方式(传统配对需要用户在两个设备上输入相同的PIN码才能连接,而大多数情况下使用的都是常见的0000或1234组合)。
安全简单配对简化了过程并且消除了需要输入PIN码的需求,它会自动为配对过程生成6位数字密码作为一部分,用户可能只需要在一个或多个设备上验证/输入密码。
安全简单配对(SSP)还有几种不同的关联模式,要使用的关联模型取决于试图配对的设备上显示和输入功能的支持情况。
当其中一个设备没有显示器或输入端口以输入6位数字时,就会使用“Just works”关联模型,在此期间在配对时不需要用户输入。在Android中,当使用createInsecureRfcommSocketToServiceRecord() API时,可以强制执行此模型。这种模型通常用于与耳机、其他没有任何显示或输入功能的小型设备进行配对。
其他关联模型包括:
数字比较 - 两个设备上显示一个6位数字,询问用户确认是否相同。当两个设备都具有显示和能够输入“是/否”时使用。
密码输入 - 当一个设备只有输入功能而没有输出显示功能,另一个设备具有输出/显示功能时,用户将被要求在只能输入的设备上输入在显示设备上显示的6位数字。
外带式 - 设备通过不同的通道(蓝牙之外)交换配对信息,例如NFC或其他安全机制。