Guten Tag, ich habe an dieser Anwendung gearbeitet, die zu einer bestimmten Zeit täglich ausgeführt werden soll, außer an Wochenenden. Ich habe eine AlarmBroadCastReceiver
verwendet, um einen bestimmten Codeblock zu einem bestimmten Zeitpunkt abzufeuern. Ich habe diesen Code in meiner AlarmBroadCastReceiver
Klasse:Android - Alarm Manager täglicher Alarm zu einer bestimmten Zeit eingestellt?
public void SetAlarm(Context context) {
AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
intent.putExtra(ONE_TIME, Boolean.FALSE);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 2);
calendar.set(Calendar.MINUTE, 30);
calendar.set(Calendar.SECOND, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 0, pi);
}
Grundsätzlich versuche ich, und legen Sie einen wiederkehrenden Alarm auf dieser Zeit.
dann bei einem Knopfdruck, ich habe dies in meinem MainActivity, wo ich es aus telefonieren bin:
wo alarm
eine Aufgabe der AlarmBroadCastReceiver
Klasse.
Das Problem, das ich damit habe, ist, dass der Code nur einmal ausgelöst wird. Sobald es 2:30 schlägt, wird es ausgelöst. Wenn ich jedoch die Zeit auf 2:29 zurückstelle und auf 2:30 Uhr warte, oder das Datum auf 1 Tag vorstelle und dann die Zeit auf 2:20 stelle und auf 2:30 warte, wird der Code nicht mehr ausgelöst.
Hat jemand dieses Problem schon einmal festgestellt? Ich habe das Gefühl, ich übersehe etwas ziemlich Einfaches in Bezug auf das Einstellen der Weckzeit, aber ich kann es jetzt nicht sehen.
Jede Hilfe wird sehr geschätzt.
Während dieser Link, um die Frage zu beantworten, ist es besser die wesentlichen Teile der Antwort auf umfassen hier und auf den Link für Referenz. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/13426871) – dbmitch
@dbmitch Ich habe den von Ihnen vorgeschlagenen Code hinzugefügt. Ich hatte angenommen, dass Links innerhalb von StackOverflow immer gültig oder aktualisiert sind. – lionscribe