使用 Altbeacon 在后台长时间监控信标的推荐方法

Recommended method to monitor beacons in background for long-time periods using Altbeacon

感谢您的回答,考虑到现在是 2017 年,自从提出类似问题的旧问题以来,已经出现了更新的 Android 版本,例如 7(和即将到来的 8)。

我想在后台连续(只要用户登录我的应用程序)监控信标,即使该应用程序被用户或系统(内存不足时)终止并持续很长时间(即当用户需要某种帮助,应用程序应该不太可能失败)。

所以这里的问题是推荐的方法是:

  1. 按照此处的建议使用 regionBootstraphttp://altbeacon.github.io/android-beacon-library/samples.html and http://altbeacon.github.io/android-beacon-library/resume-after-terminate.html(在后台启动应用程序)。我试过这个,但有时我的监控工作,有时不工作。

  2. 使用 returns START_STICKY 的后台服务。我试过了,但它似乎不可靠,而且似乎这会阻止其他应用程序同时监控信标。

  3. 使用以 startForeground 启动的后台服务。这个我没试过。

使用示例代码 here 在后台启动应用程序 部分中描述的 RegionBootstrap class 是推荐的方法即使在应用程序被杀死后在后台进行检测。

由于 Google 计划限制长时间的 运行 后台服务,Android "O" 可能需要进行更改才能完成此操作。这些将在 "O" 之前发布的未来库版本中解决。