1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  1. HeroUser96, 23.11.2010 #1
    HeroUser96

    HeroUser96 Threadstarter Android-Hilfe.de Mitglied

    Hallo zusammen,

    ich habe folgende frage:

    ich möchte in meinem Projekt nach einer bestimmten Zeitspanne ein Ereigniss auslösen. Ich habe das versucht, indem ich in der onCreate() methode mit
    System.nanoTime die "Erstellungs" Zeit gespeichert habe und in einem Thread eine Variable immer mit der aktuellen Zeit überspeichere.

    Jetzt habe ich versucht, dass da Ereigniss ausgelöst wird, wenn die aktuelle Zeit = der StartZeit + 10000 ist. Allerdings funktioniert das nicht. Ich habe beim debuggen festgestellt, dass die Zeit "springt", also nie gleich der StartZeit + 10000 ist. Wenn ich das aber zu >= ändere, wird das Ereigniss dann immer ausgeführt und das will ich auch nicht.

    Kennt jemand eine bessere Methode?
     
  2. Stefan Baumgartner, 23.11.2010 #2
    Stefan Baumgartner

    Stefan Baumgartner Neuer Benutzer

    Stichwort: AlarmManager

    einfach mal googlen. Da gibts tausende Beispiele.
     
  3. Scavanger, 23.11.2010 #3
    Scavanger

    Scavanger Junior Mitglied

    Ist heute Tag der Timer? Der 3. Thread bei dem es im Endeffekt um das gleiche Thema geht.:rolleyes2:

    Nimm einen Handler und postDelayed():

    Code:
    private Handler myHandler = new Handler();
    
    ...
    
    // "Timer" stoppen
    myHandler.removeCallbacks(myUpdateTimeTask);
    
    // myHandlerTask mit einer Verzögerung von 100ms starten
    myHandler.postDelayed(myUpdateTimeTask, 100);
    
    ...
    
    // 
    private Runnable myHandlerTask = new Runnable() {
       public void run() {
       
       // Hier Methode ausführen, Ereignis auslösen, usw...   
    
       }
    
    };
    
    und wenn du in die run() am Ende noch mal ein postDelayed(..) rinpackst hast du nen perfekten TimerTask ersatz:

    siehe:
    Updating the UI from a Timer | Android Developers
     
  4. Fr4gg0r, 23.11.2010 #4
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    10000 Nanosekunden?

    Dann wohl eher nen Handler nehmen und postDelayed(Runnable r, delayTime) nehmen.
     
  5. HeroUser96, 23.11.2010 #5
    HeroUser96

    HeroUser96 Threadstarter Android-Hilfe.de Mitglied

    Danke, läuft perfekt :D
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
2 Probleme mit Android Studio Android App Entwicklung Gestern um 15:26 Uhr
Android Room, wie einsteigen? Android App Entwicklung 31.07.2018
Android Studio richtig installieren Android App Entwicklung 10.07.2018
Android Studio - App stürtzt immer ab Android App Entwicklung 24.06.2018
Android Studio: Auf Datenbank mit zwei Spinner zugreifen. Android App Entwicklung 07.06.2018
Android Studio: Failed to chmod Android App Entwicklung 06.06.2018
App wird nach start sofort beendet! Android App Entwicklung 21.05.2018
Mit Webview.findallasync ein Wert überprüfen -Hilfe Android App Entwicklung 29.04.2018
Daten von Android Wear zur Handy-App senden geht nicht Android App Entwicklung 03.04.2018
Benötigte Zugriff ausschalten Android App Entwicklung 07.03.2018
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.