gpt4 book ai didi

android - 我怎样才能 "refresh"我的 RegionBootstrap(Android 信标库)?

转载 作者:行者123 更新时间:2023-11-30 02:10:54 25 4
gpt4 key购买 nike

我正在开发一个与 Beacons 一起工作的 Android 应用程序(感谢使用 Android Beacon Library)。我有一个扩展 BootstrapNotifier 的应用程序,它调用一个 Controller (我的类)方法创建一个新的 RegionBootstrap。当应用程序启动时一切正常,并且与相应区域相关的 Beacons 在他们进入或离开该特定区域时触发通知。

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

}

这是 Controller :

public class Controller {
...
public void setRegionBootstrap(ArrayList<Region> regionList){

this.regionBootstrap = new RegionBootstrap(this.bootstrapNotifier, regionList);

}

public void setBootstrapNotifier (BootstrapNotifier bn){
this.bootstrapNotifier = bn;
}
}

现在,我提供了添加区域的可能性,并且我想立即检测 Beacon 何时进入或离开该区域。为此,我想我必须简单地重新调用 setRegionBootstrap 方法,传递新的区域列表。相反,除非我重新启动应用程序,否则我没有进入或离开新区域的通知。知道如何解决这个问题吗?谢谢。

最佳答案

您应该只构建一次 RegionBootstrap。如果您想通过添加新区域来更改受监视区域,只需像这样直接在 BeaconManager 上执行此操作:

beaconManager.startMonitoringBeaconsInRegion(new Region("myMonitoringUniqueId", null, null, null));

关于android - 我怎样才能 "refresh"我的 RegionBootstrap(Android 信标库)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30097586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com