9

同時にタスクを開始できるように、複数の Android デバイス間でタイムスタンプを同期しようとしています。Timerを使用して System.currentTimeMillis() に基づいて Date を設定できると思いますが、問題は、複数のデバイスのタイムスタンプが互いに十分に離れているため、必要な精度が得られないことです。

可能であれば、50〜100ミリ秒の範囲のどこかを見ています。私が持っていた 1 つのアイデアは、Android Beam を使用して 1 つのデバイスのタイムスタンプを他のデバイスに送信し、デルタを計算することでしたが、メッセージが実際に送受信される前にタイムスタンプを取得する必要があることがわかりました (つまり、ユーザーが送信を待機すると、デルタが大きくなります)、そのスキームは完全に崩壊します。

2 つ以上のデバイスを同期して、それらの内部クロックが互いに 100 ミリ秒以上離れないようにするにはどうすればよいですか? これは、時間を維持する外部サーバーを使用しなくても可能ですか?

複数のデバイス間で可能な限り同時に何かを行うためのテクニックに関する他の提案も歓迎します.

4

4 に答える 4

1

通常、Android GPS ハードウェアの精度は秒単位です。ミリ秒浮動小数点数のタイムスタンプの最後の 3 桁は 000 です。

于 2014-12-17T12:59:31.887 に答える