German Uhrzeit überwachen

ziwalig

Member
Licensed User
Longtime User
Hallo zusammen:sign0144:

Ich schreibe momentan an einer Mobilen-Arbeitszeiterfassung (Stempeluhr) für den HTC. Damit die Arbeitszeit nicht manipuliert werden kann möchte ich entweder das verstellen der Uhr verhindern oder zumindest das verstellen der Uhr feststellen und fersthalten.
:BangHead:Ich habe versucht mittels Timer alle paar Minuten die Zeit zu speichern und danach, beim nächstem Tick die Abweichung zu berechnen um festzustellen ob jemand an der Uhr gedreht hat. (Idee: es kann niemand die Uhr auf die Sekunde genau zurückstellen.) Doch der Timer geht über Nacht anscheinend in ein Sleep Mod oder so was, denn der Tick wird nur ca. stündlich ausgelöst.
:sign0085:
Kennt jemand das Problem und kennt er eine Lösung?
 

corwin42

Expert
Licensed User
Longtime User
Ich vermute mal, dass das Device in den Suspend Mode geht und dann läuft Dein Programm nicht mehr. Es werden dann auch keine Timer mehr ausgelöst. Aber wenn das Device im Suspend ist, kann normalerweise auch niemand die Uhr verstellen.

Gruß,
Markus
 

ziwalig

Member
Licensed User
Longtime User
Hallo Markus

Danke für deine Nachricht. Ja, ich vermute das gleiche.
Das Problem ist aber das ich nur durch den Rhytmus des Timer herausfinden kann ob die Zeit geändert wurde. Desshalb erhalte ich dann dauernde Meldungen, das die Zeit geändert wurde.
Kennst du eine Möglichkeit den Suspend Mode zu erkennen oder die Dauer desselben zu berechnen?

Gruss
Isidor
 

corwin42

Expert
Licensed User
Longtime User
Sorry, nein da kann ich auch nicht weiter helfen.

Aber evtl. kannst Du auch anders mitbekommen, ob die Zeit geändert wurde. Soweit ich weiss, gibt es da einen eigenen Notification-Typ für. Man kann ein Programm starten lassen, wenn die Uhrzeit geändert wird.

Ah ja, mit hardware library RunAppAtEvent, kann man eine Anwendung starten lassen, wenn die Systemzeit geändert wird. Da könntest Du dann ein kleines Programm für schreiben, dass Deinem Hauptprogramm dann eine Nachricht schickt (dafür gibt es soweit ich weiss eine entsprechende Lib von Agraham). Vielleicht kanns Du damit ja Dein Problem lösen.
 

ziwalig

Member
Licensed User
Longtime User
Vielen Dank für den Tip

Hallo Markus

:) Wau!! Auf die Idee, dass es ein Ereignis geben könnte welches die Systemzeit überwacht, währe ich nie gekommen. Das könnte in der Tat mein Problem lösen.
Das einzige Problem welches ich sehe ist, wenn das Ereignis erst noch dem ändern der Systemzeit ausgelöst wird, muss ich irgendwie die Zeit vorher erfassen um die Differenz zu berechnen.
Aber ich denke das ist irgendwie machbar, werde es ausprobieren und berichten.

Gruss
Isidor
 

ziwalig

Member
Licensed User
Longtime User
Hallo Markus

Das mit dem Systemzeit-Ereigniss hatte leider nicht funktioniert. :confused:Das Ereignis wird vom System dauern ausgelöst auch wenn der Uster nicht die Zeit ändert. Auch wird es erst ausgelöst nachdem die Zeit bereits geändert wurde und so kann ich die Änderung nicht berechnen.

:)Ich habe das Problem jetzt mit dem GPS Empfänger gelöst. Ich vergleiche die GPS Zeit mit der Systemzeit. Das ganze könnte man noch mit der Internetzeit kontrollieren. Dann währe das ganze auch GPS unabhängig.
 
Top