1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Alarm + Gerät aus/Akku leer

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von The_S, 09.02.2011.

  1. The_S, 09.02.2011 #1
    The_S

    The_S Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    105
    Erhaltene Danke:
    10
    Registriert seit:
    07.01.2010
    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
     
  2. Zoopa, 09.02.2011 #2
    Zoopa

    Zoopa Android-Experte

    Beiträge:
    599
    Erhaltene Danke:
    173
    Registriert seit:
    28.07.2010
    Nur wenn das Gerät im Standby ist. Wenn es ganz ausgeschaltet ist, kann es nicht automatisch einschalten.
     
  3. The_S, 09.02.2011 #3
    The_S

    The_S Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    105
    Erhaltene Danke:
    10
    Registriert seit:
    07.01.2010
    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?
     
  4. ramdroid, 09.02.2011 #4
    ramdroid

    ramdroid Android-Experte

    Beiträge:
    644
    Erhaltene Danke:
    89
    Registriert seit:
    20.10.2010
    probier's doch einfach!
     
  5. The_S, 11.02.2011 #5
    The_S

    The_S Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    105
    Erhaltene Danke:
    10
    Registriert seit:
    07.01.2010
    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!
     
  6. ramdroid, 11.02.2011 #6
    ramdroid

    ramdroid Android-Experte

    Beiträge:
    644
    Erhaltene Danke:
    89
    Registriert seit:
    20.10.2010
    Achso... du musst noch auf den Boot completed Broadcast hören und dort deinen Alarm neu setzen.
     
  7. The_S, 11.02.2011 #7
    The_S

    The_S Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    105
    Erhaltene Danke:
    10
    Registriert seit:
    07.01.2010
    Aber eine Möglichkeit nach dem Neustart zu erfahren, welche Alarme explizit nicht ausgeführt wurden gibt es nicht?
     
  8. ramdroid, 11.02.2011 #8
    ramdroid

    ramdroid Android-Experte

    Beiträge:
    644
    Erhaltene Danke:
    89
    Registriert seit:
    20.10.2010
    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...
     
  9. The_S, 11.02.2011 #9
    The_S

    The_S Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    105
    Erhaltene Danke:
    10
    Registriert seit:
    07.01.2010
    Alle Alarme sind weg? Also generell alle? Oder wurden nur die übersprungen, die in die Zeit gefallen sind, in der das Handy aus war?
     
  10. ts-apps, 11.02.2011 #10
    ts-apps

    ts-apps Erfahrener Benutzer

    Beiträge:
    194
    Erhaltene Danke:
    39
    Registriert seit:
    27.03.2010
    Speicher doch einfach den Timestamp sobald dein Code durchgelaufen ist.

    Beim nächsten Durchlauf kannst ja auswerten wann der vorherige Durchlauf war.
     
  11. The_S, 11.02.2011 #11
    The_S

    The_S Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    105
    Erhaltene Danke:
    10
    Registriert seit:
    07.01.2010
    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 :)
     

Diese Seite empfehlen