Alarm für Android, wenn das Telefon ausgeschaltet ist

Alarmmanager

android.app.AlarmManager

Klassenübersicht

Diese Klasse bietet Zugriff auf die Systemalarmdienste. Diese können Sie Ihre Anwendung planen in der Zukunft zu einem bestimmten Zeitpunkt ausgeführt werden. Wenn ein Alarm ausgelöst wird, die Absicht, die für die sie eingetragen worden ist, durch das System gesendet, automatisch die Zielanwendung starten, wenn es nicht bereits ausgeführt wird. Registrierte Alarme zurückgehalten werden, während das Gerät im Ruhezustand befindet (und kann das Gerät optional aufwachen, wenn sie während dieser Zeit gehen), aber werden gelöscht, wenn sie ausgeschaltet ist und neu gestartet wurde.

ads

Alarm für Android, wenn das Telefon ausgeschaltet ist

Der Alarm Manager hält eine CPU Wake Sperre, solange die Alarmempfänger der OnReceive () -Methode ausgeführt wird. Dies garantiert, dass das Telefon nicht schlafen, bis Sie die Sendung beendet haben Handhabung. Sobald OnReceive () zurückkehrt, den Alarm Manager gibt diese Wake Sperre. Dies bedeutet, dass das Telefon in einigen Fällen schlafen, sobald Ihr OnReceive () -Methode abgeschlossen ist. Wenn Ihr Alarmempfänger Context.startService () aufgerufen. ist es möglich, dass das Telefon schlafen, bevor der angeforderte Dienst gestartet wird. Um dies zu verhindern, Ihre BroadcastReceiver und Service benötigen eine separate Wake Lock Politik umzusetzen, um sicherzustellen, dass das Telefon läuft weiter, bis der Dienst verfügbar ist.

Hinweis: Der Alarm Manager ist für die Fälle, in denen Sie Ihren Anwendungscode zu einem bestimmten Zeitpunkt ausgeführt zu haben, selbst wenn die Anwendung nicht läuft derzeit. Für den normalen Timing-Operationen (Zecken, Timeouts, etc.) ist es einfacher und viel effizienter Handler zu verwenden.

Hinweis: Beginnend mit API 19 (KITKAT) Alarm Lieferung ist ungenau: Die OS Alarme, um verschieben Wakeups und Batterieverbrauch zu minimieren. Es gibt neue APIs zur Unterstützung von Anwendungen, die strengen Liefergarantien müssen; siehe setWindow (int, lang, lang, PendingIntent) und setExact (int, long, PendingIntent). Anwendungen, deren targetSdkVersion früher als API 19 wird auch weiterhin das bisherige Verhalten zu sehen, in dem alle Alarme genau geliefert werden, wenn angefordert.

Sie instanziiert diese Klasse nicht direkt; stattdessen abrufen es durch) "> Context.getSystemService (Context.ALARM_SERVICE).

Zusammenhängende Posts

  • 4 Möglichkeiten, Ihre Rooted Android Phone schneller laufen Gestern machen wir sahen 5 nützliche Möglichkeiten, in denen ein Benutzer kann seine nicht verwurzelten Android-Handy beschleunigen. Wie wir bereits erwähnt, dass ein Android verwurzelt ...

  • Android Icons Bedeutung Das Samsung Galaxy S5 Handy hat eine Menge Funktionen, Optionen und Einstellungen. Sicherlich haben Sie eine seltsame Ikone zeigen, gesehen in der Bar bis oben und fragte sich, was ...

  • 5 Best Video-Editoren für Android Die meisten neuen Smartphones in diesen Tagen mit der Fähigkeit kommen Video in 1080p aufnehmen, die viele von uns bedeutet, gehen herum mit ziemlich anständig Camcordern in unserem ...

  • 4 tollen Wecker-Apps für Android Wecker Anwendungen und Dienstprogramme auf Android sind ein Groschen ein Dutzend, und einen zu finden, die am besten für Sie kommt darauf an, wie Sie möchten, erwachte sein werden. Wir...

  • Die Einführung der Alarm iPhone App Die beste Monitoring-Technologie ist jetzt noch besser. Es ist genau das, was Sie habe gewartet. Die Alarm-App für iPhone und iPod touch wird ein schnell rechtfertigen ...