Was ich sehen kann, wenn Sie einen sich unendlich wiederholenden Alarm planen, wird er nicht aufhören zu laufen, bis Sie Ihr Gerät neu starten oder die App deinstallieren.
Ich habe mich gefragt, wie verhalten sich diese im Falle eines App-Updates? Sie laden beispielsweise die Version 1 der App aus dem Play Store herunter und führen die App aus, und dieser Alarm wird gestartet. Dann wird Version zwei freigegeben und eine automatische oder manuelle Aktualisierung durchgeführt. Läuft dieser Alarm weiterhin (oder müssen Sie die App erneut starten, um den Alarm zu starten)?
In meinem Szenario brauche ich das, also hoffe ich, dass die Antwort darin besteht, dass es einfach weiterlaufen würde. Was passiert jedoch, wenn Sie den Alarmcode in Version 2 geändert haben?
Die Antwort scheint zu sein, dass die AlarmManager
Alarme nach einem App-Update für die meisten Android-Versionen weiterlaufen. Sicher für Android 2.3.2 oder höher. Die UninstallReceiver
in AlarmManagerService
wurde aktualisiert, um die Paketaktualisierung zu verarbeiten, ohne die Alarme zu löschen - siehe hier , wo der explizite Kommentar steht:
// Dieses Paket wird aktualisiert. töte seine Alarme nicht.
Der Code, um dies zu handhaben, war nicht in der 2.0.0 AlarmManagerService.UninstallReceiver
Mir ist klar, dass dies wahrscheinlich der beste Teil von drei Jahren zu spät ist, um dem OP zu helfen, aber hoffentlich könnte es anderen helfen.
Machen Sie etwas wie this .
Wenn Sie jedes Mal, wenn Ihre App startet, Ihren PendingIntent mit derselben ID ausführen, passiert im Grunde nichts und wenn er nicht ausgeführt wird, wird er ausgeführt.
Auf diese Weise müssen Sie sich keine Gedanken darüber machen, Ihren Alarm nach einem Update zu verlieren.
Tags und Links android alarmmanager android-alarms repeatingalarm