Notificações de agendamento no Android
-
23-09-2019 - |
Pergunta
Eu preciso ser capaz de agendar várias notificações em momentos diferentes no futuro.
Tentei fazer isso com um alarmanager, mas isso não é adequado, pelo seguinte motivo. De alarmManager.set (): "Se já houver um alarme para essa intenção agendada (com a igualdade de duas intenções sendo definidas pelo FilterEquals (intenção)), ele será removido e substituído por este".
Adivinha o quê, as intenções de envio são Igual, além dos diferentes extras (mas esses não contam para o FilterEquals).
Então, como posso agendar várias notificações, que ainda será mostrado quando meu aplicativo for morto (toda a razão pela qual tentei o AlarmManager)?
Obrigado.
Solução
Descubra qual evento ocorrerá primeiro, agende que, quando o seu evento os incêndios agende o próximo evento para ocorrer.
Outras dicas
Estou trabalhando no mesmo problema e decidi não usar o AlarmManager. As notificações programadas funcionaram bem em um ambiente de teste, mas, na realidade, os usuários receberam as primeiras notificações e depois pararam como se os alarmes fossem cancelados.
Decidi fazer uso de um serviço que roda a cada 15 minutos e envia notificações para coisas que estão atrasadas. Dessa forma, o processo pelo menos começa novamente se algo acontecer, como se o alarme fosse cancelado por algum motivo, ele não é recriado.
Se você deseja usar vários meios de notificação ... use o código de solicitação diferente para uma notificação de tempo diferente
notificationManager.notify(request_code_1,notification);
notificationManager.notify(requestCode_2,notification);