-->

我如何开始在运行时与AltBeacon库标为Android /禁用后台监控?(How can I s

2019-10-24 02:43发布

在AltBeacon 文档说我需要在应用程序的onCreate()进行后台监控初始化库。

但我在运行时对其进行初始化所需要的数据。

特别是在运行时(后远程HTTP服务调用)我知道:

  • IF信标跟踪,应在全部开工
  • 该地区监控

此外,我可能需要完全关闭它,如果某些条件的变化(远程配置)。

什么是与库(2.5+)来处理这个用例的当前版本的正确方法是什么?

Answer 1:

当使用Android的灯塔库 ,以检测在后台标,构造一个RegionBootstrap类在自定义的应用类中所描述的在后台启动一个应用程序样本的部分。

该实施例显示设置的初始RegiononCreate的方法,但没有理由这需要是静态的如实施例。 欢迎您执行代码来调用服务,以获取有关灯塔扫描是否要启动,并应在使用什么样的标识符信息Region的定义。 如果你把这个响应Web服务调用后,您只需将移动此行的代码,这样的回调:

regionBootstrap = new RegionBootstrap(this, region);

对于这种与自定义工作Application类,第一个参数仍然需要到类的引用。 还需要注意的是有这个类,它的列表的替代构造Regions在要监视的更多情况。

如果你想改变在稍后的时间监控的区域,那么这样做的最简单的方法是象下面这样调用:

BeaconManager.getInstanceForApplication(context)
    .stopMonitoringBeaconsInRegion(oldRegion);
BeaconManager.getInstanceForApplication(context)
    .startMonitoringBeaconsInRegion(newRegion);

需要注意的是,还可以使用上述技术与初始设置。 你可以构建在虚拟区域Application onCreate方法来实例化RegionBootstrap ,然后使用方法调用像上面配置不同的人,当你从你的Web服务得到一个回调。

需要注意的是停止区域的监控时,需要将区域的引用。 这并不需要是同一个对象-真正重要停止监视的唯一的事情是Region类的唯一标识。 这是一个String作为键来标识场Region 。 在下面的示例中,唯一标识符是“com.example.myapp.boostrapRegion”。

Region region = new Region("com.example.myapp.boostrapRegion", null, null, null);


文章来源: How can I start / disable background monitoring for beacons at runtime with AltBeacon Library for Android?