简洁版本:
问题:我需要几个Android设备才能在同一时间(大约100毫秒内)执行某项操作。例如,我希望所有设备在预先确定的时间点播放某种声音。
问题:我可以使用GPS时间来确保设备时钟同步吗?
较长版本:
几个拥有Android设备的人都在同一室外位置(用于某些特定的体育赛事)。所有设备均应在同一时间发信号通知某些事件。 (什么时间要事先确定,只要在同一时间做,就不重要了)。 FWIW:这些活动将帮助人们同时开始体育活动。
我可以做出以下假设:
可能有或没有小区覆盖。 (它在户外,可能在市区之外)
设备可能已连接或未连接到互联网。 (某些人可能没有数据计划)
设备可以互相通信。如果设备未连接到Internet,则它们将通过wifi连接(尽管wifi可能没有Internet网关)。
设备在室外(而不是建筑物内)。 (很好,这意味着所有设备都可以获取GPS定位)
这些设备在物理上彼此靠近(即300平方米以内)。 (不确定这是否重要)
我无法使用内部时钟来知道何时播放事件:用户可以手动更改时间,即使将设备设置为从蜂窝网络获取时间,该网络也可能无法提供正确的时间。两个设备可能被预订到不同的网络中,因此它们的时间可能无法很好地同步。
在应用启动时,每个设备都可能要求GPS修复并保存GPS时间与其内部时钟之间的时差。现在,主机可以基于该GPS时间宣布事件(通过使用其内部时钟并减去之前保存的偏移量)。
这足够精确和可靠吗?
提前谢谢了,
安德烈亚斯·莱特纳(Andreas Leitner)
您可以从市场market.android.co