I have the following code responsible for performing local notifications:
I have a ngOnInit that every 5 minutes should call the queryNotifications () function and if it has anything in the request response (res.data.notify.questions) it should call a local notification. It turns out that on some phones it is only notifying through the refresher (when the user pushes the screen up, it is as if the set interval was not started?).
ngOnInit(): void {
this.consultaVersao(); //Verifica a versão do sistema, se for diferente da requisição, informa o usuário que existe atualização.
setInterval(() => {
this.consultaNotificacoes();
}, 300000); }//A cada 5 minutos verifica se existe uma nova pergunta ou pedido
consultaNotificacoes(refresher?): void {
this.subscription = this.perguntasService.consultaNotificacoes()
.subscribe((res) => {
this.numeroperguntastotal = res.data.perguntas;
this.numeropedidostotal = res.data.pedidos;
//CASO TENHA ALGO NO ARRAY DE NOTIFICACAO DE PERGUNTAS, REALIZA UM PUSH NOTIFICATION
if(res.data.notificar.perguntas.length != 0){
this.dialogs.beep(1)
for (var i = 0; i < res.data.notificar.perguntas.length; i++) {
this.localNotifications.schedule({
id: i+1,
priority: 2,
text: 'Produto: ' + res.data.notificar.perguntas[i].produto.substring(0, 20) + '...',
title: 'Nova pergunta, conta: ' + res.data.notificar.perguntas[i].conta,
smallIcon: 'res://notification',
});
}
}