在Android中实现多设备蓝牙连接的最佳方法是什么?

在Android中实现多设备蓝牙连接的最佳方法是什么?,android,bluetooth,android-service,Android,Bluetooth,Android Service,我必须通过我的android java应用程序与多个设备(4个设备)实现蓝牙连接。应用程序将连续接收来自2个已连接的BT(蓝牙)设备的数据,其他2个BT设备可根据需要连接,无需保持连续连接。根据要求,应用程序必须连续运行24至48小时。安装了该应用程序的设备将专用于该应用程序&该应用程序将持续将蓝牙接收到的数据推送到远程服务器。连接的BT设备可以随时从应用程序断开和重新连接。此外,如果BT连接丢失,应自动重新连接。实现这一点的最佳方法是什么 嗨,我已经开发了一个类似的应用程序,用于可调节心率带(

我必须通过我的android java应用程序与多个设备(4个设备)实现蓝牙连接。应用程序将连续接收来自2个已连接的BT(蓝牙)设备的数据,其他2个BT设备可根据需要连接,无需保持连续连接。根据要求,应用程序必须连续运行24至48小时。安装了该应用程序的设备将专用于该应用程序&该应用程序将持续将蓝牙接收到的数据推送到远程服务器。连接的BT设备可以随时从应用程序断开和重新连接。此外,如果BT连接丢失,应自动重新连接。实现这一点的最佳方法是什么

嗨,我已经开发了一个类似的应用程序,用于可调节心率带(Polar H7)

我所做的(可能不是最好的方法,但它对我来说工作顺利,因为我一次可以管理5-7条皮带)是我提供了一项服务来管理与多个BLE设备的连接 在服役期间,我记录了所有关贸总协定的召回

因此,我在backgorund中使用一个服务来保存和管理连接,并在列表或Hashmap中为每个设备分别提供GATT回调

如果设备断开连接或需要建立新连接,我将相应地连接/断开连接,并更新我的GATT回调记录


看一看类似的东西

看一看这一点你能用这种方法运行应用程序超过24小时吗?是的,因为即使服务被破坏,我也会重新启动它并立即连接到以前的设备。这种情况很少发生,因为这种电话是专用于应用程序的。你是否使用单一专用电话所有BT设备的服务?您是如何管理连接丢失错误的?如果BT设备自动断开连接,您是否重新启动服务?是,所有设备都有一个服务,我的服务中有broadcastReceiver来获取设备上的连接和断开连接更新。从那里,我管理一切,我不会为此重新启动服务