Frage von subrim, 38

Android Studio Alarmmanager, Wecker Stellen?

Hallo, ich programmiere momentan eine Erinnerungsapp. Nun diese soll zu einer vorher eingestellten Zeit, den Benutzer an etwas erinnern. Momentan benutze ich den Alarmmanager, hatte davor auch eigene Erinnerungsmechanismen wie z.B mit einem Service etc. hat aber alles nicht so geklappt wie es sollte. Das Problem bei der jetzigen Sache ist, das der Alarmmanager manchmal eine verzögerung hat, und wenn er nicht auf die minute genau die Datenbank prüft, wird auch keine Notification erzeugt. Da der Alarmmanger zum Stromsparen die Alarme die ziemlich nah aneinander liegen einfach zu einem ganzen zusammenfast, das kann dann wie gemerkt abweichungen haben und meine App meldet mir rein garnix. Wie kann ich den so einstellen, das er dass so macht wie ich es will, oder gibt es eine bessere möglichkeit als den Alarmmanager. Bitte keine threads etc. hab ich schon alles probiert, das hat alles nach paar Stunden nicht mehr funktioniert und ist nicht besonders Stromsparend. Vielen Dank.

Antwort
von Fregrin, 33

Hast du mal die klassischen Alarmmanager Beispiele benutzt wie zB http://stacktips.com/tutorials/android/repeat-alarm-example-in-android ?
Normalerweise feuert der Manager zur gegebenen Zeit ein Intent den du dann über einen BroadcastReceiver fängst und dort dann deine Erinnerung anzeigst (oder was auch immer du dann machst). 

Das Zusammenfassen von Intents sollte da kein Problem sein, da jedes Intent ja dann von "seinem" Receiver behandelt wird.

Bisher hatte ich damit keine Probleme. Versuche mal ein Minimalbeispiel zur Not als separate App zu machen um das Problem einzuschränken.

Kommentar von subrim ,

Ja habe ich, es hat dann nach einer zeit, meistens über die nacht nicht mehr funktioniert. Bin am überlegen ob es etwas mit dem  wakelock zu tun haben kann.  Trotzdem danke :)

Kommentar von Fregrin ,

Du hast dazwischen nicht neugestartet oder? 
https://developer.android.com/reference/android/app/AlarmManager.html "but will be cleared if it is turned off and rebooted."

Keine passende Antwort gefunden?

Fragen Sie die Community