首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在运行时使用AltBeacon库启动/禁用对信标的后台监视?

如何在运行时使用AltBeacon库启动/禁用对信标的后台监视?
EN

Stack Overflow用户
提问于 2015-07-23 13:22:37
回答 1查看 1.5K关注 0票数 1

AltBeacon 文档说,我需要初始化应用程序onCreate()中的库,以便进行后台监视。

但是我有在运行时初始化它所需的数据。

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

  • 如果要启动信标跟踪
  • 需要监测的区域

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-23 13:43:51

当使用Android灯塔图书馆检测背景中的信标时,可以在自定义应用程序类中构造一个RegionBootstrap类,如示例的在后台启动应用程序部分所述。

这个示例显示了在Region方法中设置初始onCreate,但是没有理由像示例中那样是静态的。欢迎您执行代码调用服务,以获取是否应该启动信标扫描以及在Region定义中使用哪些标识符的信息。如果将其放在web服务调用的响应之后,只需将这一行代码移动到回调中:

代码语言:javascript
复制
regionBootstrap = new RegionBootstrap(this, region);

要使用自定义Application类,第一个参数仍然需要是对该类的引用。还请注意,这个类有一个可选的构造函数,它接受一个Regions列表,以防您想要监视更多信息。

如果您希望稍后更改监视的区域,那么最简单的方法是使用以下调用:

代码语言:javascript
复制
BeaconManager.getInstanceForApplication(context)
    .stopMonitoringBeaconsInRegion(oldRegion);
BeaconManager.getInstanceForApplication(context)
    .startMonitoringBeaconsInRegion(newRegion);

请注意,在初始设置中也可以使用上述技术。您可以在Application onCreate方法中构造一个虚拟区域来实例化RegionBootstrap,然后在从web服务获得回调时使用上面这样的方法调用来配置不同的调用。

注意,当停止对某个区域的监视时,需要对该区域进行引用。这不需要是同一个对象--停止监视唯一真正重要的是Region类的唯一标识符。这是一个String字段,用作标识Region的键。在下面的示例中,唯一的标识符是"com.example.myapp.boostrapRegion“。

代码语言:javascript
复制
Region region = new Region("com.example.myapp.boostrapRegion", null, null, null);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31588667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档