Android:如何启动一个从2秒的下一个精确倍数开始的计时器?

问题描述

我是android的新手,并且被一个复杂的项目深深吸引。

我实际上有许多设备运行同一应用程序,它们是人员区或排除区。 我需要使用蓝牙信标来使设备传输其GPS坐标,并且排除区域也要传输其边界大小(蓝牙信标距离检测不够可靠。)

我想做的是运行一项服务(我认为),该服务使员工设备监听一秒钟,而广播禁区广播,然后所有设备在下一秒钟的监听和广播之间切换,然后重复。 通过记录设备自身的GPS坐标与相对类型的其他设备已广播的任何设备之间的距离计算出的所有检测到的边界违规情况都将被记录。

我如何才能启动计时器,并每隔2秒以2秒的下一个精确倍数重复调用函数

  • 调用函数的位置起2秒钟之内。例如,如果时间是12h:35m:01s:223ms,我希望在12:35:02调用重复函数

解决方法

计算到下一个两秒标记的剩余时间,然后使用该时间安排一个延迟的一次性任务,该任务将启动一个两秒钟的重复计时器。