当BLE设备向Android手机发送数据时,如果应用程序未运行,如何在应用程序中收到通知

时间:2017-04-28 05:40:29

标签: android bluetooth-lowenergy

我正在为Android开发移动应用程序,我将从BLE设备接收数据。到目前为止,一切似乎都在运作,但是当应用程序根本没有运行时,如何获得从BLE设备收到的数据的通知?

我想到的一个解决方案是启动一个新的系统服务,该服务一直在运行,可以监控BLE设备发送的任何数据。但我不确定这是否会起作用。

我正在寻找有关如何实现这一目标的一些建议?或者至少想知道在Android for BLE中是否可以这样做?

提前致谢。

2 个答案:

答案 0 :(得分:1)

Android已经给出了最好的documentation,因为它检查了它是否实现了广播接收器和服务

答案 1 :(得分:0)

您需要让您的应用运行才能收听BLE内容。

这样做的一种方法是在应用程序进程中的某个位置(https://developer.android.com/guide/components/services.html#Foreground)安装Foreground Service。然后由您决定如何在应用程序内的组件之间发送数据。您可以通过调用BLE代码中的某些方法来使用广播或实现某些组件注册(和取消注册)的侦听器。当您有要报告的内容时,您的BLE代码会调用侦听器。