首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Estimote Eddystone停止扫描

Estimote Eddystone停止扫描
EN

Stack Overflow用户
提问于 2017-01-16 15:06:46
回答 2查看 179关注 0票数 0

所以我在eddystone扫描上使用了Evothing示例,由于某种原因,应用程序将不再扫描了。

每500 ms调用一次函数startScan:

代码语言:javascript
复制
function onDeviceReady() {
    // Start tracking beacons!
     setInterval(function(){ startScan() }, 500);
}

startScan函数:

代码语言:javascript
复制
function startScan() {
    // console.log("Startscan called"+new Date());
    // Called continuously when ranging beacons.
    evothings.eddystone.startScan(
        function(beacon)
        {
                console.log("Startscan called evo"+new Date());
                // Insert/update beacon table entry.
                beacon.timeStamp = Date.now();
                beacons[beacon.address] = beacon;
                domodalandstuff(); // this function opens a bootstrap modal to show some data
        },
        function(error)
        {
                console.log('Eddystone Scan error: ' + JSON.stringify(error)+" "+new Date());
        }
)};

10分钟后,我在我的控制台上看到了这个:

  • 日志: Startscan,名为evoMon,2017年1月16日,15:47,GMT+0100 (CET)
  • 日志: Eddystone扫描错误:“扫描已在进行中!”2017年1月16日15:47 GMT+0100 (CET)
  • 日志: Eddystone扫描错误:“扫描已在进行中!”2017年1月16日15:47 GMT+0100 (CET)

这个应用程序只是停止调用startScan(),所以我的应用程序当然再也找不到信标了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-16 17:10:48

我想问题是“每500 ms调用一次函数startScan”。就像这样,你一次开始很多次扫描。

你应该只叫一次。您的startScan函数调用evothings.eddystone.startScan,启动并一直扫描直到停止。因此,您只需调用evothings.eddystone.startScan一次,每次检测到信标时,它都会调用您的successCallback。

代码语言:javascript
复制
function onDeviceReady() {
    startScan();
}

注意:您应该在某个地方调用evothings.eddystone.stopScan

票数 0
EN

Stack Overflow用户

发布于 2017-01-16 21:32:18

是的,非常愚蠢的错误--谢谢@Dietatko,如果你想知道这就是我想出来的:

代码语言:javascript
复制
     function checkmodalup() {
      if ($('#myModal').is(':visible')){
         evothings.eddystone.stopScan();
         isscanning = false;
      }
      else {
        if (isscanning === false) {
         evothings.eddystone.stopScan();
         startScan();
            isscanning = true;
        }
        else if (isscanning === true) {
            console.log("is already scanning");
        }
      }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41679357

复制
相关文章

相似问题

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