如何检查接收到的信标是否是持续 2 分钟的信标?

问题描述

我必须制作一个 android 应用程序,目的是让用户在公共汽车上登记。该应用程序必须研究来自公共汽车的信标,同时必须发送信标。我如何检查接收到的信标是否是持续 2 分钟的信标,以了解用户实际上是在公交车上并且他没有经过?

作为起点,我正在使用 https://github.com/Jaosrikate/iBeacon-Android 并尝试进行一些更改。 您对如何执行此操作有任何建议吗?

解决方法

信标测距涉及来自 API 的回调,该回调为您提供信标标识符。回调时间为检测到信标的时间。

基本算法很简单:

  1. 创建一个 HashMap 来存储第一次检测到信标的时间戳。使用信标标识符的字符串表示作为键。

  2. 每当检测到信标时,检查它的标识符是否已经在地图中。

  3. 如果标识符不在地图中,则将其与当前 Date() 一起存储

  4. 如果标识符在地图中,请检查当前时间 - 地图中存储的时间是否 > 2 分钟。如果是这样,你有一个匹配

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...