JaoHundred / ANT

ANimeTracking(Android)
GNU General Public License v3.0
0 stars 0 forks source link

Mudar comportamento de geração de notificação #51

Open JaoHundred opened 4 years ago

JaoHundred commented 4 years ago

Atualmente o sistema de notificação funciona criando uma notificação para o próximo dia de um anime quando ele é adicionado, mas isso nem sempre garante que a notificação vai disparar.

tentativa de proposição: criar um serviço de background(ver como se faz isso) para rodar todo dia meio dia(o usuário vai poder depois reconfigurar isso para o horário que ele quiser), ele vai checar quais animes estão marcados com CanGenerateNotification, e preparar notificações para serem disparadas nesse exato momento(background service ativa e dispara notificações nesse exato momento para todos os animes marcados com true em CanGenerateNotification)

links para auxílio: https://stackoverflow.com/questions/58107522/how-to-create-a-never-ending-background-service-in-xamarin-forms não se aplica, jobscheduler já serve pra isso

https://docs.microsoft.com/en-us/xamarin/android/app-fundamentals/services/foreground-services foreground pina uma notificação até que o serviço seja fechado, não preciso pinar ela

https://julianocustodio.com/2020/01/15/background-services/ background services são matados pelo doze do android, jobscheduler substitui o background

https://devblogs.microsoft.com/xamarin/getting-started-workmanager/ não funciona

https://developer.android.com/guide/background mesmo caso acima da explicação do background

obs: Parece que o AlarmManager e o WorkManager podem atender o problema ~~não mais a solução talvez se encontre no jobscheduler, criar um jobscheduler para repetir periodicamente uma vez por dia e exibir notificações dos animes que estão marcados para receber notificação no dia~~ A solução realmente parece ser WorkManager, ele foi construído em cima da API JobScheduler, não há um meio até o momento de programar para uma notificação acontecer sempre na mesma hora todo dia

JaoHundred commented 4 years ago

667bf284

ea61ddc9 - falta testar o WorkManager

9de3c13c - testar WorkManager, se estiver tudo correto, fechar essa tarefa.

JaoHundred commented 3 years ago

133ae82a - fazer testes no dispositivo real