2009-12-08 13 views
7

Grazie a TasKiller Ho un modo affidabile per arrestare gli aggiornamenti che arrivano al mio AppWidget dal AlarmManager!Android - AlarmManager recovery

Ora, sarcasmo a parte, come faccio a recuperare da tale evento? Finora vedo solo che lo Alerts viene resuscitato solo dopo aver riavviato il telefono.

Posso incollare il codice di ripristino in alcuni punti come i vari Activity#onCreate che appartengono alla mia app e al mio widget ma c'è un modo migliore?

E se gli avvisi sono OK, c'è un modo per rilevarlo e non eseguire AlarmManager#setRepeating?

Oppure è possibile danneggiarlo più volte?

risposta

5

Ora, sarcasmo a parte, come faccio a recuperare da tale evento?

Ho sentito dire che lo Scotch single-malt aiuta.

Finora vedo solo che le segnalazioni sono risorta solo dopo il riavvio del telefono .

che è solo se si sta agganciando il BOOT_COMPLETED trasmissione Intent e ristabilire gli allarmi.

I killers di attività sono estremamente accurati, ma non possono impedire a uno BroadcastReceiver di ricevere trasmissioni di sistema, come BOOT_COMPLETED. Sei libero di trovare qualche altra trasmissione che vorresti ricevere per aiutarti a riprendere il controllo e ristabilire i tuoi allarmi.

Anche ciò che se le segnalazioni sono OK - è c'è un modo per rilevare che e non correre AlarmManager # setRepeating? Oppure c'è un problema con lo per eseguirlo più volte?

È possibile cancel() un allarme esistente. Quindi, se sei preoccupato per possibili duplicati, cancel() l'allarme corrente (che si spera non funzionerà tranquillamente se l'allarme non esiste), quindi imposta l'allarme.

+2

Bene, non è nemmeno necessario "annullare": quando si chiama il programma sullo stesso tentativo in sospeso, la pianificazione viene automaticamente reimpostata. Grazie per il tuo aiuto Marco, molto apprezzato – Bostone

Problemi correlati