可以在后台进行范围监控吗?
Can range monitoring be done in the background?
根据站点http://altbeacon.github.io/android-beacon-library/samples.html提供的示例,我们可以使用RegionBootstrap对区域进行后台监控。
输入区域后,我不会启动应用程序,而是通过将应用程序 class 绑定为消费者来开始测距。然而,在调用BeaconManager.bind之后,onBeaconServiceConnect()并没有被调用。
这是库的限制还是我在测距方面做错了什么?
当使用 RegionBootstrap
class 时,您不需要让您的应用程序 class 实现 BeaconConsumer
接口,因为 RegionBootstrap
实现在内部处理。您只需让应用程序 class 实现 BootstrapNotifier
.
您可以在您在 在后台启动应用程序 部分下提到的 samples 页面中看到这方面的示例。请注意,该部分中的示例并未显式调用 BeaconManager
上的 bind
方法,应用程序 class 也未实现 BeaconConsumer
。
编辑:如果要添加背景测距,只需让应用程序class实现RangeNotifier
,然后将以下内容添加到[=19] =]方法:
beaconManager.setRangeNotifier(this);
try {
beaconManager.startRangingBeaconsInRegion(region);
} catch (RemoteException e) { }
根据站点http://altbeacon.github.io/android-beacon-library/samples.html提供的示例,我们可以使用RegionBootstrap对区域进行后台监控。
输入区域后,我不会启动应用程序,而是通过将应用程序 class 绑定为消费者来开始测距。然而,在调用BeaconManager.bind之后,onBeaconServiceConnect()并没有被调用。
这是库的限制还是我在测距方面做错了什么?
当使用 RegionBootstrap
class 时,您不需要让您的应用程序 class 实现 BeaconConsumer
接口,因为 RegionBootstrap
实现在内部处理。您只需让应用程序 class 实现 BootstrapNotifier
.
您可以在您在 在后台启动应用程序 部分下提到的 samples 页面中看到这方面的示例。请注意,该部分中的示例并未显式调用 BeaconManager
上的 bind
方法,应用程序 class 也未实现 BeaconConsumer
。
编辑:如果要添加背景测距,只需让应用程序class实现RangeNotifier
,然后将以下内容添加到[=19] =]方法:
beaconManager.setRangeNotifier(this);
try {
beaconManager.startRangingBeaconsInRegion(region);
} catch (RemoteException e) { }