我正在使用BLE开发一个Android应用程序。我已经实现了发现,连接和数据传输等所有基本操作。
现在我正在寻找BLE通知,是否有可能在应用程序未运行时接收来自BLE设备的通知(甚至不在后台)。
我想要实现的是类似于GCM / FCM的通知,即使应用未运行,我们也会在应用中收到通知。 因此,想要检查BLE设备和Android框架是否支持类似的通知机制。
我现在搜索了几个小时但没有得到任何正确的结果。
如果有人能告诉我它是否受支持?
答案 0 :(得分:1)
现在我正在寻找BLE通知,可以在应用程序未运行时接收来自BLE设备的通知(甚至不在后台)。
BLE只是一种通信协议。当有人说话时,有人必须倾听。
我想要实现的是类似于GCM / FCM的通知,即使应用未运行,我们也会在应用中收到通知。因此,想要检查BLE设备和Android框架是否支持类似的通知机制。
GCM / FCM之所以有效,是因为Google Play服务正在侦听消息的设备上运行。
根据您的问题,我可以想象两种可能的情况:
如果通过"收到通知"你的意思是改变蓝牙特性 - 你的应用程序应该已经运行了。只有你知道如何与BLE设备交谈。
如果您想使用BLE实现位置感知信标类型行为,您可以利用现有的Google Nearby功能来达到预期效果。
答案 1 :(得分:1)
我会说不。您需要运行该应用才能获得蓝牙回调。您只需在流程中设置Foreground Service,即可让应用程序在后台运行。
答案 2 :(得分:0)
如果您希望在应用未运行时接收通知事件,则应实施连续扫描BLE帧的Android服务以及捕获某些符合某些参数的帧的服务(例如,对于iBeacon,它将是特定的主要和次要值;对于Eddystone URL - 某些特定的URL等) - 只需发送打算启动您的应用程序。