Android BLE通知

时间:2017-03-08 13:35:05

标签: android bluetooth notifications bluetooth-lowenergy android-bluetooth

我正在使用BLE开发一个Android应用程序。我已经实现了发现,连接和数据传输等所有基本操作。

现在我正在寻找BLE通知,是否有可能在应用程序未运行时接收来自BLE设备的通知(甚至不在后台)。

我想要实现的是类似于GCM / FCM的通知,即使应用未运行,我们也会在应用中收到通知。 因此,想要检查BLE设备和Android框架是否支持类似的通知机制。

我现在搜索了几个小时但没有得到任何正确的结果。

如果有人能告诉我它是否受支持?

3 个答案:

答案 0 :(得分:1)

  

现在我正在寻找BLE通知,可以在应用程序未运行时接收来自BLE设备的通知(甚至不在后台)。

BLE只是一种通信协议。当有人说话时,有人必须倾听。

  

我想要实现的是类似于GCM / FCM的通知,即使应用未运行,我们也会在应用中收到通知。因此,想要检查BLE设备和Android框架是否支持类似的通知机制。

GCM / FCM之所以有效,是因为Google Play服务正在侦听消息的设备上运行。

根据您的问题,我可以想象两种可能的情况:

  1. 如果通过"收到通知"你的意思是改变蓝牙特性 - 你的应用程序应该已经运行了。只有你知道如何与BLE设备交谈。

  2. 如果您想使用BLE实现位置感知信标类型行为,您可以利用现有的Google Nearby功能来达到预期效果。

答案 1 :(得分:1)

我会说不。您需要运行该应用才能获得蓝牙回调。您只需在流程中设置Foreground Service,即可让应用程序在后台运行。

答案 2 :(得分:0)

如果您希望在应用未运行时接收通知事件,则应实施连续扫描BLE帧的Android服务以及捕获某些符合某些参数的帧的服务(例如,对于iBeacon,它将是特定的主要和次要值;对于Eddystone URL - 某些特定的URL等) - 只需发送打算启动您的应用程序。