0

我想制作一个总是每分钟都在寻找信标的应用程序(或服务)。如果找到,它将启动一个 intentService 并将坐标上传到我的服务器。

我查看了altbeacon 文档中的示例,它们确实有效。但是,我无法按照我想要的方式对其进行调整。

我发现的最好的例子是如何在后台启动应用程序。在这里,我可以设置间隔时间、扫描时间,它正在做它应该做的事情——除了它只宣布新的信标(didEnterRegion 方法)。

还有一个连续扫描信标的示例(使用遥测从附近的信标获取测距更新),但我无法控制间隔和扫描时间(尽管它说它是可配置的)。另外,我必须确保它始终运行,并且永远不会进入某种睡眠模式。

最后,我尝试使用各种计时器方法将所有这些混合到我自己的服务中,但一位远方的同事告诉我,altbeacon 库自己提供服务,我不应该这样做。

有没有人有关于如何做到这一点的任何提示?

编辑

我使用了 davidgyoung 的方法,因为这个例子对我来说几乎是开箱即用的。我需要几天的时间来测试,然后回来更新。

4

2 回答 2

2

使用Android 信标库执行此操作非常简单,您可以使用参考应用程序作为起点。

确实,您不需要自己提供服务,因为图书馆有自己的服务。按原样使用参考应用程序,它会在后台自动启动并在启动时扫描信标,即使您终止应用程序,它也会在五分钟内使用 AlarmManager 重新启动。

使用这种方法,只需在 Application 类中开始测距,并在该类中的回调方法中处理您的结果。

于 2016-02-01T18:16:20.777 回答
1

我相信您可以为此使用Estimote API
您可以手动创建服务,BeaconManager如果它== null在服务上或您的命令已启动,则创建实例。添加setMonitoringListener,现在您可以从onEnteredRegion.

于 2016-02-01T13:59:08.733 回答