DidexitRegion事件永远不会在后台用应用程序调用

时间:2018-09-26 16:39:36

标签: android ibeacon altbeacon ibeacon-android

我正在使用altbeacon库。 在mainapplication类中,我正在扩展Bootstrapnotifier, 当didEnterRegion被调用时,我调用fire方法,并为扩展BeaconConsumer的类并启动进入和退出事件的类启动前台服务。 问题在于主应用程序在后台运行时会检测到didEnterRegion事件,但即使等待15分钟也不会调用didExitRegion。

1 个答案:

答案 0 :(得分:0)

我认为在自定义Android Application类和前台服务中进行区域信标监视可能会导致复杂的生命周期问题,因此,如果可能的话,我将所有监视逻辑保留在自定义Application类中来简化解决方案。您仍然可以启动前台服务-只要前台服务正在运行,相同的自定义Application类也将保持活动状态。

如果您集会希望除了应用程序类外还监视服务类中的工作,我建议您测试一下是否获得所有信标事件,包括进入事件,这更容易测试。只需在不打开信标的情况下手动启动应用程序,然后打开信标,然后查看前台服务是否收到didEnterRegion回调。您可能会发现它不是,这意味着您需要对此设置进行故障排除。确保正确添加了monitorNotifier。