android 信标库获取区域状态

android beacon library get state for region

BootstrapNotifier(即MonitorNotifier)有进入/退出区域的回调,但是如何在应用程序启动时获取区域状态(应用程序如何实现已经在区域中)?

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);