Android Kontrolle ob in Reichweite durch zeitlich versetzte If Abfrage oder Delay?

BergJava

Aktives Mitglied
Hallo, folgendes Problem

Ich überprüfe ob eine Nachricht gesendet wurde und Geräte in Reichweite ist mit einer Timer.class (System.currentTimeMillis()).

Das Funktioniert auch, durch start() und end() ermittle ich die getTotalTime(), wenn die Zeit -24 wird ist Gerät nicht mehr in Reichweite.

Durch if Abfrage:
Java:
long k = Math.round(t.getTotalTime());
	
	if (k< -10L   ){

möchte ich nun einen Alarm auslösen.
Problem ist am Anfang, bis die Nachricht kommt, ist die "Zeit" kurz im Minus, und der Alarm startet gleich.

Wie kann ich das umgehen, am Anfang. Ein Delay???
Danke
 

Gucky

Top Contributor
Ich kann dir nicht so ganz folgen.

Du willst also mit einem Gerät kommunizieren und musst dazu testen, ob dieses Gerät in Reichweite ist. Dazu sendest du etwas. Wenn diese Sendung + Antwort des Geräts weniger als -24 Millisekunden benötigt (vermutlich ein schwerer Vorzeichenfehler und du meinst länger als 24 Millisekunden (du musst start() von end() abziehen)), dann ist das Gerät nicht mehr in Reichweite.

Nun beginnt die Zeitmessung in der Vergangenheit und sendet die Zeit in die Zukunft, weshalb falsche Zeiten gemessen werden. Und genau da beginnt der Teil, an dem ich nicht mehr mitgekommen bin. ;)
 

Neue Themen


Oben