Ich versuche, die Zeitstempel zwischen mehreren Android-Geräten zu synchronisieren, damit ich gleichzeitig eine Aufgabe starten kann. Ich stelle fest, dass ich Timer verwenden und ein Datum basierend auf System.currentTimeMillis() festlegen kann, aber das Problem scheint zu sein, dass die Zeitstempel mehrerer Geräte gerade weit genug voneinander entfernt sind, dass ich nicht die Präzision bekomme, die ich möchte.Zeitstempel über mehrere Geräte synchronisieren
Ich schaue irgendwo im Bereich von 50-100 ms, wenn möglich. Eine Idee war, Android Beam zu verwenden, um den Zeitstempel eines Geräts an das andere Gerät zu senden und dann ein Delta zu berechnen, aber es stellt sich heraus, dass ich den Zeitstempel abrufen muss, bevor die Nachricht tatsächlich gesendet und empfangen wird (dh je länger ein Benutzer ist) wartet, um zu senden, desto größer wird das Delta sein), wodurch dieses Schema vollständig auseinander fällt.
Wie kann ich zwei oder mehr Geräte synchronisieren, so dass ihre internen Uhren nicht mehr als 100 ms voneinander entfernt sind? Ist das überhaupt möglich, ohne einen externen Server zu verwenden, der die Zeit hält?
Alle anderen Vorschläge für Techniken, um etwas über mehrere Geräte gleichzeitig möglichst gleichzeitig zu tun, wären ebenfalls willkommen.
Ich habe versucht, den GPS-Standort zu verwenden. Ich kann es bekommen und das Delta einstellen, und obwohl ich die Synchronisierung noch nicht heruntergefahren habe, weiß ich nicht, ob das machbar ist. Bei meinen praktischen Tests musste ich manchmal eine Minute auf ein GPS-Signal warten. Nicht zu vergessen, das wäre eine weitere erforderliche Erlaubnis für die App. Ich werde weiterhin die GPS-Zeit-Methode für jetzt verwenden und sehen, ob ich ein Synchronisationsschema ausarbeiten kann, das funktioniert, aber ich weiß nicht, ob die Verwendung von GPS auf lange Sicht zuverlässig sein wird. –