Alarm + Gerät aus/Akku leer

  • 10 Antworten
  • Neuester Beitrag
Diskutiere Alarm + Gerät aus/Akku leer im Android App Entwicklung im Bereich Betriebssysteme & Apps.
T

The_S

Fortgeschrittenes Mitglied
Hallo,

Ich setzte über den AlarmManager einen Alarm:

Code:
PendingIntent sender = // initialisieren und so
AlarmManager am = (AlarmManager) c.getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, nextAlarmTime, sender);
Mein AlarmReceiver (definiert im Intent) startet dann einen Service (der u. a. ein paar Sensoren registriert und über einen Handler in einem separierten Runnable ein bisschen wartet):

Code:
public class AlarmReceiver extends BroadcastReceiver{

	@Override
	public void onReceive(Context c, Intent in) {
		Intent nin=new Intent(c,AlarmService.class);
		nin.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        c.startService(nin); 
	}
}
1. Frage: Ist das so der korrekte Weg? Mach ich (als Anfänger) etwas falsch/zu kompliziert/umständlich?
2. Wenn das Gerät ausgeschalten ist, sorgt ja RTC_WAKEUP dafür, dass das Gerät eingeschalten wird. Der Alarm läuft dann ganz normal ab, auch wenn der Benutzer einen PIN zur Aktivierung der SIM-Karte eingeben müsste (ich mache im Service keine Dinge, für die eine SIM-Karte benötigt werden würde). Ist das soweit korrekt?
3. Was geschieht, wenn der Akku leer oder schwach ist (also während der onReceive-Methode der Akku ausgeht)? Wird dann der Alarm beim nächsten Start des Handys aufgerufen? Hab ich irgendwie eine Möglichkeit darauf zu reagieren?

Danke und Grüße
Stefan
 
Z

Zoopa

Stammgast
2. Wenn das Gerät ausgeschalten ist, sorgt ja RTC_WAKEUP dafür, dass das Gerät eingeschalten wird. Der Alarm läuft dann ganz normal ab, auch wenn der Benutzer einen PIN zur Aktivierung der SIM-Karte eingeben müsste (ich mache im Service keine Dinge, für die eine SIM-Karte benötigt werden würde). Ist das soweit korrekt?
Nur wenn das Gerät im Standby ist. Wenn es ganz ausgeschaltet ist, kann es nicht automatisch einschalten.
 
T

The_S

Fortgeschrittenes Mitglied
Schade, aber danke für die Info. Was passiert dann mit einem Alarm während das Gerät ausgeschalten ist? Bzw. bekomme ich irgendwie mit, wenn das Handy wieder eingeschalten wurde und ein Alarm dadurch verschlafen wurde?
 
ramdroid

ramdroid

Stammgast
The_S schrieb:
Schade, aber danke für die Info. Was passiert dann mit einem Alarm während das Gerät ausgeschalten ist? Bzw. bekomme ich irgendwie mit, wenn das Handy wieder eingeschalten wurde und ein Alarm dadurch verschlafen wurde?
probier's doch einfach!
 
T

The_S

Fortgeschrittenes Mitglied
Dadurch seh ich, dass der Alarm beim Start nicht ausgeführt wurde. Aber das zeigt mir nicht, ob es eine Möglichkeit gibt beim Gerätestart bspw. auf verpasste Alarme zu prüfen.

Was hab ich da für Möglichkeiten?

Danke!
 
ramdroid

ramdroid

Stammgast
Achso... du musst noch auf den Boot completed Broadcast hören und dort deinen Alarm neu setzen.
 
T

The_S

Fortgeschrittenes Mitglied
Aber eine Möglichkeit nach dem Neustart zu erfahren, welche Alarme explizit nicht ausgeführt wurden gibt es nicht?
 
ramdroid

ramdroid

Stammgast
Nach dem booten sind immer alle Alarme weg. Alle Wecker Appeninen müssen also nach einem Neustart ihre Alarme neu setzen. Das macht auch der bei Androud enthaltene Wecker so...
 
T

The_S

Fortgeschrittenes Mitglied
Alle Alarme sind weg? Also generell alle? Oder wurden nur die übersprungen, die in die Zeit gefallen sind, in der das Handy aus war?
 
T

ts-apps

Fortgeschrittenes Mitglied
Speicher doch einfach den Timestamp sobald dein Code durchgelaufen ist.

Beim nächsten Durchlauf kannst ja auswerten wann der vorherige Durchlauf war.
 
T

The_S

Fortgeschrittenes Mitglied
Ja, das wie ist kein Problem. Wollte nur wissen ob ich das nicht irgendwie mitbekommen könnte. Aber so gehts natürlich auch. Besten Dank für die Antwort :)