每 X 分钟扫描一次 Android 信标
Scan for Android Beacon every X minutes
我想制作一个每分钟都在寻找信标的应用程序(或服务)。如果它找到一个,它将启动一个 intentService 并将坐标上传到我的服务器。
我看过 altbeacon documentation 中的示例,它们确实有效。但是,我无法按照我想要的方式对其进行调整。
我找到的最好的例子是 how to start an app in the background。在这里我可以设置间隔时间、扫描时间,它正在做它应该做的事情——除了它只宣布新的信标(didEnterRegion 方法)。
还有一个连续扫描beacons的例子(Getting Ranging Updates from Nearby Beacons With Telemetry),但是我没能控制间隔和扫描时间(尽管它说是可配置的)。此外,我必须确保它始终 运行,并且永远不会进入某种睡眠模式。
最后,我曾尝试使用各种计时器方法将所有这些混合到我自己的服务中,但一位远方的同事告诉我,altbeacon 库自己提供服务,我不必这样做.
有没有人知道如何做到这一点?
编辑
我使用了 davidgyoung 的方法,因为这个例子对我来说似乎非常开箱即用。我需要几天的时间来测试,然后回来更新。
我相信您可以为此使用 Estimote API。
您可以手动创建服务,创建 BeaconManager
的实例(如果它 == null
在服务上或您的命令已启动)。添加 setMonitoringListener
,现在您可以发送来自 onEnteredRegion
.
的结果
以 Android Beacon Library is quite straightforward, and you can use the reference app 为起点执行此操作。
的确,您不需要制作自己的服务,因为图书馆有自己的服务。按原样使用参考应用程序,它会在后台自动启动并在启动时扫描信标,即使您关闭该应用程序,它也会在五分钟内使用 AlarmManager 自行重启。
使用这种方法,只需在应用程序 class 中开始测距,然后在 class 中的回调方法中处理您的结果。
我想制作一个每分钟都在寻找信标的应用程序(或服务)。如果它找到一个,它将启动一个 intentService 并将坐标上传到我的服务器。
我看过 altbeacon documentation 中的示例,它们确实有效。但是,我无法按照我想要的方式对其进行调整。
我找到的最好的例子是 how to start an app in the background。在这里我可以设置间隔时间、扫描时间,它正在做它应该做的事情——除了它只宣布新的信标(didEnterRegion 方法)。
还有一个连续扫描beacons的例子(Getting Ranging Updates from Nearby Beacons With Telemetry),但是我没能控制间隔和扫描时间(尽管它说是可配置的)。此外,我必须确保它始终 运行,并且永远不会进入某种睡眠模式。
最后,我曾尝试使用各种计时器方法将所有这些混合到我自己的服务中,但一位远方的同事告诉我,altbeacon 库自己提供服务,我不必这样做.
有没有人知道如何做到这一点?
编辑
我使用了 davidgyoung 的方法,因为这个例子对我来说似乎非常开箱即用。我需要几天的时间来测试,然后回来更新。
我相信您可以为此使用 Estimote API。
您可以手动创建服务,创建 BeaconManager
的实例(如果它 == null
在服务上或您的命令已启动)。添加 setMonitoringListener
,现在您可以发送来自 onEnteredRegion
.
以 Android Beacon Library is quite straightforward, and you can use the reference app 为起点执行此操作。
的确,您不需要制作自己的服务,因为图书馆有自己的服务。按原样使用参考应用程序,它会在后台自动启动并在启动时扫描信标,即使您关闭该应用程序,它也会在五分钟内使用 AlarmManager 自行重启。
使用这种方法,只需在应用程序 class 中开始测距,然后在 class 中的回调方法中处理您的结果。