Die Alarmbenachrichtigung wird sofort ausgelöst. Android

8

Ich arbeite an einer Erinnerung, die dem Benutzer eine Benachrichtigung zu einer bestimmten Zeit sendet.

Der Alarm geht sofort aus ...

Ich habe die meisten Vorschläge über stackoverflow ausprobiert, habe aber immer noch das gleiche Problem

Bitte helfen Sie mir, dieses Problem zu lösen.

Serverdaten

%Vor%

Mein Code

%Vor%

Tage erhalten : Dies löst die Tag-Nummerierung

%Vor%

Screenshot

    
karthik kolanji 01.09.2017, 12:48
quelle

4 Antworten

0

Schließlich habe ich einen Weg gefunden, dies zu tun, indem ich PendingIntent requestCode in der Datenbank (verwendetes ROOM) ablege und dann den gesamten Alarm lösche, indem ich alle requestCode von DB

abrufe

AlarmIdPojo

%Vor%

AlarmIdDAO

%Vor%

AppDatabase

%Vor%

callReminder

%Vor%

setReminderNotification

%Vor%

insertToDB

%Vor%     
karthik kolanji 18.09.2017, 11:50
quelle
1

Das Hauptproblem scheint mit dieser Zeile zu sein:

%Vor%

Was Sie wissen müssen, ist, dass Sie nur den Wochentag einstellen, der in der Ausgabe angezeigt wird. - Es ändert nicht das zugrunde liegende Datum, das Sie erwarten.

Verwenden Sie den folgenden Code, um Ihre Daten zu ändern, um für jeden ausgewählten Tag einen Alarm festzulegen:

%Vor%     
Nick Cardoso 12.09.2017 13:41
quelle
0

Problem

Ihr Alarm wird sofort ausgelöst, da Android alle in der Vergangenheit eingeplanten Alarme auslöst.

Einige Ihrer Alarme werden in der Vergangenheit geplant, weil der folgende Code nicht wie erwartet funktioniert. Beispielcode aus Ihrer Frage:

%Vor%

Im obigen Code fügen Sie Ihrem Alarm nur einen Tag hinzu, wenn der Alarm in der Vergangenheit liegt. Nehmen wir an, Sie führen diesen Code am Freitag aus und Sie lesen einen Alarm für Montag. Ihr Code fügt einen Tag zu dem Datum hinzu, an dem er am Dienstag erscheint. Planen Sie diesen Alarm ein. Der Alarm liegt in der Vergangenheit, da der Dienstag noch vor Freitag liegt. Daher wird Android diesen Alarm kurz nach dem Termin auslösen.

Aktualisieren

Aus Ihrer Frage geht nicht klar, was Sie mit den Erinnerungen tun möchten, die in der Vergangenheit liegen. Eine mögliche Lösung ist, sie eine Woche in die Zukunft zu planen.

%Vor%     
Newtron Labs 07.09.2017 23:00
quelle
0

Ich habe das gleiche Problem zuvor, bitte überprüfen Sie die folgenden Details:

Nicht funktionierendes Codebeispiel:

%Vor%

Arbeitscode:

%Vor%

Es wird nur ausgeführt, wenn Sie die Wiederholung festlegen, Sie müssen überprüfen, ob sie übergeben wurde oder nicht, und wenn sie übergeben wurde, fügen Sie einfach die gewünschte Zeit für die Wiederholung hinzu

    
Wael Abo-Aishah 13.09.2017 17:01
quelle