Laufen Android AlarmManager nach einem App-Update weiter?

8

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?

    
brent777 02.07.2014, 00:16
quelle

2 Antworten

8

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.

    
HexAndBugs 01.02.2017 16:44
quelle
1

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.

    
Molten Ice 19.07.2014 21:35
quelle