Android:任何方式通过蓝牙自动配对到另一台设备而不提示引脚?

时间:2010-03-25 07:28:36

标签: android bluetooth

我正在寻找一种通过蓝牙连接到Android设备的方法,无需用户干预(假设至少在设备上设置为“可发现”)。从2.0开始,当第一次连接时,设备似乎会提示输入随机引脚。我已经尝试过一些蓝牙项目,但似乎没有任何工作,因为底层的蓝牙适配器代码总是会起作用。

这有什么办法吗?感谢。

2 个答案:

答案 0 :(得分:2)

正如Janusz所解释的那样,不可能自动配对到不同的设备,但可以与其他设备进行通信而无需配对。从API级别10开始,BluetoothDevice.createInsecureRfcommSocketToServiceRecord方法和匹配的BluetoothAdapter.listenUsingInsecureRfcommWithServiceRecord方法允许您创建一个“不安全”的RFCOMM频道来连接这两个设备,而无需将它们配对。此通道容易受到中间人攻击:任何其他设备都可能拦截连接,允许它读取每条消息并用自己的消息替换消息。这可能是您的应用程序的问题,也可能不是。另请注意,此允许您以这种方式建立RFCOMM频道:它不允许您在没有配对的情况下连接到(例如)耳机。

如果您已经知道其他设备的地址,则可以在不发现任何设备的情况下执行此操作。

答案 1 :(得分:0)

这不应该是可能的,因为这将是一个安全问题。这将允许蓝牙设备连接到您的手机并提取联系人等,而无需您注意到。第一次配对应始终需要用户干预。