Android Java: Wie rufe ich jede Minute eine nicht statische Funktion auf, egal ob im Ruhezustand, im Leerlauf oder im StAndroid

Forum für diejenigen, die für Android programmieren
Guest
 Android Java: Wie rufe ich jede Minute eine nicht statische Funktion auf, egal ob im Ruhezustand, im Leerlauf oder im St

Post by Guest »

Ich programmiere ein virtuelles Haustier. Deshalb habe ich in MainActivity eine Funktion update(), die nicht statisch ist. Ich muss diese Funktion jede Minute aufrufen. Wenn sich das Gerät im Standby-Modus befindet oder die App geschlossen ist, sollte das keine Rolle spielen. Die Akkulaufzeit interessiert mich auch nicht, da die App nur ein Hobbyprojekt ist.
Ich habe ScheduledExecutorService und seine Funktion schemeAtFixedRate ausprobiert. Funktionierte nur dann, wenn die App im Vordergrund war, und manchmal funktionierte es ohne Grund nicht.
Dann habe ich AlarmManager ausprobiert. Konnte nicht implementiert werden, da update() nicht statisch gemacht werden kann.
(Als ich Context in MainActivty umgewandelt habe, um von dort aus update() dass beides nicht funktioniert hat.)
Ich möchte nur eine einfache Möglichkeit, jede Minute eine Funktion aufzurufen.
Gibt es eine nette API oder eine nette Bibliothek (von Github), die ich verwenden kann?
Danke Gabe Sechan, ich werde etwas Code bereitstellen, um klarer zu machen, was ich tun möchte:

Code: Select all

private void update(){
StatsActivity.addMinutes(1);
actionManager.updatePet();
Map petMetrics = actionManager.getKeyMetrics();
StatsActivity.addValues(petMetrics);
}
Wenn das überhaupt nicht möglich ist, könnte mir jemand zeigen, wie ich, wenn der Benutzer die App erneut öffnet, alle Update-Aufrufe auf einmal durchführe, die nicht gefunden wurden stattfinden, während die App geschlossen war oder aus anderen Gründen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post