Android-设计后台服务以快速获取数据

时间:2018-07-28 16:37:03

标签: android architecture software-design

我正在为我们的自定义医疗保健硬件设备开发一个android应用程序,除其他事项外,该应用程序应从5感觉接收数据。传感器数据通过蓝牙发送,并使用分别以64Hz,1000Hz,4Hz,4Hz和32Hz发射的代表接收。我已经成功创建了一个接收传感器数据的应用程序。不幸的是,此刻,传感器采集运行在主UI线程上。这是无法接受的,因为预计应用程序应该全天不间断地记录数据。在花了一些时间探索我的选择之后,许多在线教程建议使用服务来实现这一目标。但是,有很多服务类型(IntentServices,前台服务,后台服务...)可供选择,我不确定什么是最好的方法。另外,我的应用程序将以android O为目标,并且似乎使用了background services are somehow discouraged。有经验的android开发人员会针对如何解决此问题提供一些建议吗?请注意,目前,这只是一个演示,电池和其他资源的使用不是问题。

1 个答案:

答案 0 :(得分:1)

要实现的最佳方法是使用Foreground Service,该服务将保持与ble设备的连接并从gatt服务获取通知。另外,您将需要使用WakeLock使服务在睡眠模式下保持活动状态。

一年前,我正在为内部ble设备制作sample应用。选中bluetooth/gatt软件包,对于这种实现确实非常有用。(项目不适合生产,但由于sample / demo非常好)