低级蓝牙广播

时间:2011-05-02 19:08:06

标签: android bluetooth low-level at-command

由于蓝牙是一种广播协议,是否有某种方式可以监听广播但不可发现?我们的想法是避免让设备被发现,只是听广播,检查设备的特定设备名称,然后连接到该设备的mac地址(然后握手,验证等)。

具体来说,我有一个使用AT命令集(user manual here)的蓝牙设备,我希望我的Android设备在进入范围时自动连接到它。但是,我想要一个不需要我的Android可以随时发现的解决方案,因为我希望Android在大多数时间都不在范围内。

是否有我可以从我的第一台设备发送的低级蓝牙命令,并使用不需要配对,连接或可发现性的Android SDK进行监听?也许和ACL请求一样?

(另外,我之所以不能让我的设备被发现,主要是电源,也是用户隐私的一小部分原因。设备可发现性的电池消耗有多大?几乎没有什么?重要吗?)

2 个答案:

答案 0 :(得分:0)

它被称为蓝牙PAGE命令。虽然不确定如何从您的设备中使用它,但它允许蓝牙设备(实际上)向其配置的主设备宣布其存在。您必须查看对PAGE的Android响应,以了解它的支持情况。

答案 1 :(得分:0)

如果Android正在将连接到设备,那么Android 永远不会需要被发现。除非我误解了......(Android上的收音机只需加电而不是“可连接”也不“可发现”)

Android可以尝试每隔一段时间连接一次(发送一个PAGE),看看远程设备是否已经回到范围内。然后即使远程设备也不需要被发现,只需“可连接” - 假设您的Android程序记住了远程设备的设备地址。

或者您可以让远程设备尝试每隔一段时间重新连接Android设备(假设远程设备支持建立连接)。您需要让Android上的程序成为服务器/侦听器,并将Android蓝牙置于“可连接”模式。