首页 > 解决方案 > 如何检查收到的信标是持续 2 分钟的信标?

问题描述

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

作为一个起点,我正在使用https://github.com/Jaosrikate/iBeacon-Android并且我正在尝试进行一些更改。你对如何做到这一点有什么建议吗?

标签: javaandroid-studioibeacon-android

解决方案


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

基本算法很简单:

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

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

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

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


推荐阅读