>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Notificações durante uma chamada de voz


Criei uma app que trabalha em background. Com base nos conceitos Service, AlarmManager e BroadcastReceiver.
A app acessa uma webservice de minuto em minuto.
Para isso uso uma Service que recupera o dado do bd da webservice e notifica o usuário: 0 não notifica e 1 notifica, bem simples.
Coloquei nesta mesma Service o NotificationManager, e até aqui está tudo Ok.
O problema que a notificação acontece mesmo se o usuário estiver em uma ligação, o que é terrível, pois estou usando som e vibração nesta notificação.

Como farei para não ocorrer a notificação?
Posso nesta mesma Service ler o estado do telefone, caso esteja em digamos OFF_HOOK, não notificar, ou seja, aguardar para próxima ação do AlarmManeger?



2 Respostas


Olá Cristiano,

Tudo bem?

Veja se o método abaixo resolve seu problema.

Se retornar true é porque estão utilizando o telefone.


public static boolean isCallActive(Context context){
AudioManager manager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
if(manager.getMode()==AudioManager.MODE_IN_CALL){
return true;
}
else{
return false;
}
}




Ok funcionou perfeito

Obrigado!