Android Verzögerte Benachrichtigung
Ich bin versuchen, um eine Benachrichtigung mit Android Notification-Manager, aber der trick ist, dass ich will, die Meldung zu zeigen, bis 30 Tage in der Zukunft. In meinem code mache ich das:
Intent notificationIntent = new Intent(this, MyClass.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
long when = System.currentTimeMillis() + (30 * 24 * 3600 * 1000);
Notification notification = new Notification(R.drawable.some_image, "A title", when);
notification.setLatestEventInfo(getApplicationContext(), "You're late", "Some description", contentIntent);
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nm.notify(NOTIFY_ATTEND_ID, notification);
Jedoch, die Meldung ist noch immer zeigt sich sofort. Von was ich gelesen habe, die "wenn" - parameter auf die Benachrichtigung Konstruktor wird nur verwendet, um die Sortierung der Meldungen in der Statusleiste. Gibt es trotzdem, um die Mitteilung zu zeigen, bis in einer zukünftigen Datums - /Zeit? Vielen Dank im Voraus.
- Machen Sie es zeigen, bis 30 Tage in der Zukunft ist nicht trivial. Alarme und solche getötet werden auf Booten. Sie müssten zu halten, einen service oder etwas
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht.
Als Falmarri schlägt vor, Sie behandeln müssen, dass das selbst, obwohl ich nicht einverstanden mit seiner Vorgehensweise. Benötigen Sie
AlarmManager
. Allerdings bin ich skeptisch, dassAlarmManager
Arbeit wird für 30 Tage dauern, aber Sie können es versuchen. Möglicherweise müssen Sie verwendenAlarmManager
für eine tägliche/wöchentliche Aufgabe zu planen, die Tag/Woche Meldungen über verschiedene Alarme. Sie müssen auch zu rekonstruieren-diese Liste von Alarmen auf einem Computer-Neustart, da Sie gewischt bekommen, als Falmarri schlägt.