0

我按照这个参考here而且我不知道自动启动应用程序灯塔每次当检测到信标信号

  1. ,它可能当我进入灯塔地区发动我的应用程序每次我已经在时间信标区域和我的设备检测信标信号。因为当电源连接改变时,现在增压器级别仍然可以调用

2.可以定义信标区域的半径,例如5米。因为现在我的用例的半径太宽了。

+0

你可以通过执行并检查它是否适用于你,来回答所有这些问题:) – AndiGeeky

+0

从doc说,这是操作系统的限制。我一直坚持这个问题2天,并找到解决问题的方法。 – siwarak

回答

0

一般情况下,这是可能的,是的。

RegionBootstrap类旨在将您的应用程序自动启动到后台以扫描信标并在您进入/退出信标区域时发送回调。因为操作系统可能会杀死你的应用程序以节省内存,该库旨在重新启动应用程序,所以它的后台扫描服务可以持续几个条件下运行:

  1. 在5分钟内的使用Android被杀害AlarmManager
  2. 如果上述操作失败,则执行电源连接/断开操作。
  3. 在手机启动。

继您提到的参考文献后,此行为应该是自动的。

虽然您不能定义半径为Region,您可以添加类似的过滤逻辑。一旦你回拨到didEnterRegion,开始在该地区的信标范围。在测距回调中,如果您看到beacon.getDistance() < 5.0,则只有在信标距离小于五米的情况下,才能执行您希望发生的逻辑。

+0

非常感谢您的回答。我更了解图书馆工作和操作系统限制。我会尝试申请我的申请。 – siwarak

+0

如果我在蓝牙打开时创建broadcastreceiver类来查找蓝牙状态,我该如何在onReceive方法中启动扫描 – siwarak

+0

如果您按照示例在Application类中设置RegionBootstrap,这将是自动的。图书馆将开始尝试扫描应用程序启动时,如果蓝牙关闭,它将无法做到这一点。一旦打开,它将自动开始扫描。 – davidgyoung

相关问题