基于站点http://altbeacon.github.io/android-beacon-library/samples.html提供的示例,我们可以使用 RegionBootstrap 对区域进行后台监控。
一旦进入区域,我不会启动应用程序,而是通过将 Application 类绑定为消费者来开始测距。但是,在调用 BeaconManager.bind 之后,不会调用 onBeaconServiceConnect()。
这是图书馆的限制还是我在测距方面做错了什么?
基于站点http://altbeacon.github.io/android-beacon-library/samples.html提供的示例,我们可以使用 RegionBootstrap 对区域进行后台监控。
一旦进入区域,我不会启动应用程序,而是通过将 Application 类绑定为消费者来开始测距。但是,在调用 BeaconManager.bind 之后,不会调用 onBeaconServiceConnect()。
这是图书馆的限制还是我在测距方面做错了什么?
使用RegionBootstrap
该类时,您不需要让您的 Application 类实现BeaconConsumer
接口,因为RegionBootstrap
实现会在内部处理该接口。您只需让 Application 类实现BootstrapNotifier
。
您可以在您在后台启动应用程序部分下提到的示例页面中看到一个示例。请注意,该部分中的示例没有显式调用on 方法,Application 类也没有实现。bind
BeaconManager
BeaconConsumer
编辑:如果要添加背景测距,只需使 Application 类实现RangeNotifier
,然后将以下内容添加到didEnterRegion
方法中:
beaconManager.setRangeNotifier(this);
try {
beaconManager.startRangingBeaconsInRegion(region);
} catch (RemoteException e) { }