0

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

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

当蓝牙设备激活时,除了创建前台服务之外,还有其他方法可以唤醒应用程序吗?

4

1 回答 1

0

您可以扫描该设备,从 Lollipop 开始,当有扫描结果时,设备将被唤醒。同样使用 Lollipop,您可以为扫描设置过滤器,如果您的外围设备具有固定的 mac 地址,您可以将其用作过滤器,然后您的设备会在您的外围设备开始广告时唤醒。

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

于 2016-07-12T09:53:53.040 回答