Java 在2部手机中同步系统时间
我正在做一个研究项目,两部android手机必须在完全相同的时间播放相同的声音文件,要做到这一点,我需要将每部手机的系统时间同步到毫秒。Java 在2部手机中同步系统时间,java,android,time,synchronization,Java,Android,Time,Synchronization,我正在做一个研究项目,两部android手机必须在完全相同的时间播放相同的声音文件,要做到这一点,我需要将每部手机的系统时间同步到毫秒。 我的问题是,如何在代码级别实现这一点?目前所有的方法只能进行二级同步 你没有。如果你需要的话,你需要一个实时操作系统,而Android不是。太多的事情会使它出错-时钟偏移、垃圾收集、dalvik JIT差异等。您可以使用实时时钟功能接近它,但是,在多任务操作系统上,在VM之上编写的任何东西都无法保证这样的性能。我敢肯定,即使您使用NTP或其他方法同步了时间,你
我的问题是,如何在代码级别实现这一点?目前所有的方法只能进行二级同步 你没有。如果你需要的话,你需要一个实时操作系统,而Android不是。太多的事情会使它出错-时钟偏移、垃圾收集、dalvik JIT差异等。您可以使用实时时钟功能接近它,但是,在多任务操作系统上,在VM之上编写的任何东西都无法保证这样的性能。我敢肯定,即使您使用NTP或其他方法同步了时间,你将很难在VM中以精确的毫秒运行代码。所谓VM,我指的是android用来执行Java代码的Dalvik虚拟机,而不是android仿真器。可能是重复的谢谢,还有其他方法吗?我目前的想法是,首先同步系统时间,然后通过套接字向这两部手机发送消息,我在套接字中指定声音文件的播放时间。@JunfeiWang您可以让两部设备在套接字上监听消息。然后通过多播从同一网络上的第三台机器发送消息。根据网络流量情况,两人应大致同时接收信息(距离足够近,可以同步播放声音,让人的耳朵不会注意到差异)。@FoamyGuy谢谢你的建议,我将尝试建立一个专用wifi网络并实现这一点。