我正在开发一款Android应用,用信标(由于Android的灯塔图书馆的使用)的作品。 我有一个扩展BootstrapNotifier调用它创建了一个新的RegionBootstrap控制器(我的班级)方法的应用程序。 一切工作正常时,应用程序启动并与相应地区的灯塔,当他们进入或离开特定区域触发通知。
public class BackgroundApplication extends Application implements BootstrapNotifier, RangeNotifier {
...
@Override
public void onCreate() {
this.controller = Controller.getInstance();
mAllBeaconsRegion = new Region("all beacons", null, null, null);
//the following call returns the correct list of regions
this.regionList = this.controller.getRegionList(this);
this.regionList.add(mAllBeaconsRegion);
this.controller.setBootstrapNotifier(this);
this.controller.setRegionBootstrap(this.regionList);
...
}
这是控制器:
public class Controller {
...
public void setRegionBootstrap(ArrayList<Region> regionList){
this.regionBootstrap = new RegionBootstrap(this.bootstrapNotifier, regionList);
}
public void setBootstrapNotifier (BootstrapNotifier bn){
this.bootstrapNotifier = bn;
}
}
现在,我给加地区的可能性,我想立即检测时,信标进入或离开该区域。 要做到这一点,我想我不得不简单地重新调用setRegionBootstrap方法,通过区域的新的列表。 取而代之的是,我没有进入或离开新的地区,除非我重新启动应用程序的通知。 任何想法我怎么能解决这个问题? 谢谢。