Mein Problem ist dem ähnlich, Wie man ein Widget jede Minute aktualisiert , aber ich möchte nur TextView der Benutzeroberfläche aktualisieren. Ich brauche Zugriff auf die Uhrzeit, kann also leider nicht einfach die DigitalClock-Ansicht verwenden.
Ich habe recherchiert und Wege gefunden, jede Minute zu aktualisieren, aber nicht minütlich, so dass sie mit der Systemuhr synchronisiert sind (sie können also bis zu 59 Sekunden nicht synchron sein!)
Ich kann nur daran denken, es zu tun (a) Führen Sie jede Sekunde einen Handler (oder Timer) aus (was ein bisschen wie Overkill aussieht, wenn ich nur jede Minute aktualisieren möchte) So von den android.com-Ressourcen
(b) Führen Sie einen Dienst im Hintergrund aus. (Ich bin nicht scharf darauf, da ich bereits wichtigere Dinge im Hintergrund laufen habe)
(c) Verwenden Sie den Alarm Manager (scheint wieder wie Overkill)
Scheint so einfach zu sein und doch ...
Jeder Rat wird geschätzt Mel
Die angenommene Antwort reagiert nicht spezifisch auf die Frage. Das OP bittet darum, eine Art von Ereignis pünktlich zu erhalten (zur Systemuhr Minute und 00 Sekunden).
Die Verwendung eines Timers ist nicht der richtige Weg dazu. Es ist nicht nur Overkill, sondern du musst auf einige Tricks zurückgreifen, um es richtig zu machen.
Der richtige Weg, dies zu tun (zB eine TextView zu aktualisieren, die die Zeit als HH: mm anzeigt) ist BroadcastReceiver wie folgt zu verwenden:
%Vor%Das System sendet dieses Broadcast-Ereignis genau zum Beginn jeder Minute basierend auf der Systemuhr. Vergessen Sie jedoch nicht, Ihren TextView im Voraus zu initialisieren (zur aktuellen Systemzeit), da es wahrscheinlich ist, dass Sie Ihre Benutzeroberfläche mitten in einer Minute öffnen und die TextView nicht aktualisiert wird, bis die nächste Minute passiert.
Tags und Links android user-interface clock