【发布时间】:2016-07-20 10:30:43
【问题描述】:
BootstrapNotifier(即MonitorNotifier)有进入/退出区域的回调,但是如何在应用启动时获取区域状态(应用如何实现已经在一个区域中)?
【问题讨论】:
标签: android ibeacon-android android-ibeacon beacon
BootstrapNotifier(即MonitorNotifier)有进入/退出区域的回调,但是如何在应用启动时获取区域状态(应用如何实现已经在一个区域中)?
【问题讨论】:
标签: android ibeacon-android android-ibeacon beacon
从Android Beacon Library 2.8.1 版开始,唯一的方法是访问一些内部库类,如下所示:
if (MonitoringStatus.getInstanceForApplication(this).stateOf(region) != null && MonitoringStatus.getInstanceForApplication(this).stateOf(region).isInside()) {
// Do something
}
我建议不要在生产代码中使用它,因为这个内部 API 可能会发生变化。在库的下一个版本中,将有一种方法可以在 BeaconManager 上获取此信息,如下所示:
beaconManager.requestStateForRegion(region);
上述方法会导致在 MonitorNotifier 或 BootstrapNotifier 上进行回调:didDetermineStateForRegion(int state, Region region);
【讨论】: