Android SPP蓝牙:实施后台连接尝试

时间:2017-03-31 11:14:35

标签: android android-bluetooth spp

我希望尽量减少用户参与SPP医疗设备的需求。用户应该只需要配对设备,然后当设备可连接时自动进行连接。 HDP经典设备就是这样,BTLE设备也是如此(后者可以在Android上运行)。

所以显而易见的解决方案是在配对之后,创建RFCOMM套接字并调用connect()方法(也许还有所有的变通方法来处理各种错误)。

然而,根据文档,这种阻止方法在12秒左右就会超时,所以如果我真的想在设备联机时继续为设备做好准备,我需要这样做在while循环中,直到连接成功。

所以问题是,如果我这样做,这将是否会持续不断地ping'设备是否过载系统并耗尽电池?鉴于Android上的HDP实现会发生类似这样的事情,他们也必须做这样的事情,但也许他们会降低ping的频率,所以它不是那么需要资源。

有没有人有尝试对SPP设备进行持续监控的经验?谢谢!

1 个答案:

答案 0 :(得分:0)

我已经将蓝牙SPP连接用于工业设备,并遇到了类似的问题。尝试连接服务似乎并不是一个好主意,因为它需要始终在后台运行并消耗更多电池。

我的解决方案是,如果可能让SPP医疗设备在配对设备(您的机器人)上电后请求连接,或者当您尝试连接到医疗设备时,自动执行大约1的连接过程-2秒(如果您可以按照其MAC地址(最好)或应用中的名称过滤设备)

根据您医疗设备中的蓝牙芯片,您应该拥有足够的连接选项,但如果没有,您可以尝试按需连接。