Уведомление о задержке Android

Я пытаюсь создать уведомление с помощью Notification Manager от Android, однако трюк в том, что я хочу, чтобы уведомление появлялось через 30 дней в будущем. В моем коде я делаю это:

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); 

Однако уведомление все еще отображается мгновенно. Из того, что я прочитал, параметр «когда» для конструктора уведомлений используется только для сортировки уведомлений в StatusBar. Есть ли все-таки, чтобы уведомление появилось в будущей дате / времени? Заранее спасибо.

Solutions Collecting From Web of "Уведомление о задержке Android"

Есть ли все-таки, чтобы уведомление появилось в будущей дате / времени?

Нет.

Как предполагает Фальмарри, вам нужно будет справиться с этим сами, хотя я не согласен с его подходом. Вам нужно будет использовать AlarmManager . Однако я скептически отношусь к тому, что AlarmManager будет работать в течение 30-дневной продолжительности, хотя вы можете попробовать. Возможно, вам придется использовать AlarmManager для ежедневной / недельной задачи, чтобы планировать уведомления дня / недели с помощью отдельных аварийных сигналов. Вам также нужно будет восстановить этот список аварийных сигналов при перезагрузке, так как они протираются, как предлагает Фальмарри.