Android:在后台连接蓝牙LE设备

时间:2016-06-30 13:24:58

标签: android bluetooth background-process bluetooth-lowenergy foreground-service

我正在尝试从应用的bleDevice.connectGatt(this, true, gattCallback)课程中使用Application连接到BLE外围设备。该设备每隔几个小时才会发送广告包。

只要应用程序处于打开/活动状态,此工作正常。当我关闭显示器并等待几分钟然后打开外围设备时,gattCallback永远不会被调用。

当蓝牙设备活跃起来而不是创建前台服务时,有没有其他方法可以唤醒应用程序?

1 个答案:

答案 0 :(得分:0)

您可以扫描该设备,从Lollipop开始,当有扫描结果时,设备将被唤醒。另外,对于Lollipop,您可以为扫描设置一个过滤器,如果您的外围设备有固定的mac地址,您可以将其用作过滤器,那么只要外围设备开始通告,您的设备就会唤醒。

除此之外,您可以使用AlarmManager偶尔唤醒设备。