2010-12-30 12 views
0

Ich schreibe eine Alarm-App und möchte bei der Auslösung des Alarms bestimmte Arbeiten ausführen. Dazu verwende ich die AlarmManager.set() Methode und die ausstehende Absicht überträgt die Absicht. So weit, ist es gut. Aber was, wenn das Betriebssystem beschließt, meine App zu schließen, die aufgrund von Speicherproblemen im Hintergrund war. Könnte mir jemand dabei helfen?Wie wird meine App eine Absicht empfangen, die von AlarmManager gesendet wird, wenn das Betriebssystem wegen Speicherstörung geschlossen hat?

Auch wenn ich wiederholte Alarme möchte, kann ich den AlarmManager.setRepeating() verwenden. Berücksichtigt dies die Anpassung an den Tag der Lichteinsparung?

Antwort

0

Der Alarm startet Ihre Anwendung, auch wenn diese gerade nicht läuft. Dazu müssen Sie einen Broadcast-Empfänger entweder mit dem Tag <receiver> in der Manifest-Datei oder mit der Methode registerReceiver registrieren. Lesen Sie die für Details.

Wie für Ihre zweite Frage, obwohl ich es nicht versucht habe, konfigurieren Sie mit setRepeating das Intervall zwischen folgenden Alarmen. Wenn Sie zum Beispiel Ihren ersten Alarm um 13:00 Uhr haben und ein INTERVAL_DAY-Intervall verwenden, wird der Alarm jeden Tag um 13:00 Uhr ausgelöst. Wenn die Sommerzeit wirksam wird und 13:00 zu 12:00 wird, wird der Alarm täglich um 12:00 Uhr ausgelöst. Ich nehme an, Sie müssen das ausprobieren.

Verwandte Themen