AlarmManager

X

xdroid-man

Neues Mitglied
0
Hallo,

ich wollte mal fragen ob es eine Möglichkeit gibt zu prüfen ob man sich bereits bei dem AlarmManager angemeldet hat.
Code:
pintent = PendingIntent.getService(this, 0, intent, 0);
alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),60 * 1000, pintent);
Hintergrung:
Um sicher zu gehen wollte ich in der Methode onPause oder onStop immer automatisch den AlarmManager start/configurieren.

Oder ist das blödsinn?

Grüße
 
Ich habs bei meinem Projekt so gemacht:

Code:
private void setAlarmIfNeeded() {

        if ((mReactivateChecked) && (sAlarm == null)) {
             /*'Persistenz aktiv' -> neuen Alarm starten*/
            sAlarm = new Alarm();
            sAlarm.setAlarm(this);
        }
    }


    private void clearAlarmIfNeeded() {

        if (!mReactivateChecked) {
            /*'Persistenz' inaktiv -> Alarm abzuschalten*/
            Alarm a = new Alarm();
            a.cancelAlarm(this);
        }
    }

Persistenz ist eine Einstellung in meiner App, die die App reaktivert, wenn sie (ungewollt) ist.

Vielleicht hilfts dir ;)

Der ursprüngliche Beitrag von 23:00 Uhr wurde um 23:08 Uhr ergänzt:

btw: wenn du den Alarm über setInexactRepeating startest (wieder reaktiviert) verbraucht es nicht so viel Akku, da keine (unnötigen) Wakelocks entstehen.
Hinsichtlich der Genauigkeit sind die zeitlichen Abweichungen hinnehmbar (bewegen sich im Rahmen von maximal 5 Minuten*).
AlarmManager | Android Developers

*jedenfalls war das meine Erfahrung... (habe es allerdings auch nicht "ausgiebigst" getestet)...
 
Hallo,

vielen Dank für deine Antwort.

Wenn ich dich richtig verstanden habe speichers du in der App den aktuellen Status der Regestrierung in den persistenten Daten ab. Und verfährts bei bedarf entsprechen. (entweder neu regestrieren oder wieder aktivieren) Hab ich das richtig verstanden.

Danke & Viele Grüße
 
Hey,
jo.. der Alarm wird nur aktiv, wenn in den SharedPrefs die Einstellung so gewählt wurde.
Wie du es selbst im ersten Beitrag schon geschrieben hast, ist onStop ein sehr guter Zeitpunkt zum Auslösen des Alarms.
 

Ähnliche Themen

B
  • Braesident
Antworten
7
Aufrufe
1.587
markus.tullius
markus.tullius
E
Antworten
1
Aufrufe
594
swa00
swa00
F
Antworten
3
Aufrufe
998
Feuerstern
F
Zurück
Oben Unten