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
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
Fragen zu all den Layouts Android App Entwicklung 12.02.2018
Alertdialog mit Button erweitern Android App Entwicklung 02.02.2018
Bluetooth Kommunikation funktioniert ab Android 7 nicht mehr Android App Entwicklung 25.01.2018
android emulator root Android App Entwicklung 19.01.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.