Question

J'ai une application qui doit vérifier s'il y a un appel en cours à partir d'un contact spécifique.

Je sais que je peux utiliser l'action_phone_state_changed Broadcast intention pour obtenir le numéro de téléphone d'appel sur la fonction call_state_ringing, mais ce que j'aimerais faire, c'est utiliser la fonction théphonymanager.getCallState et dans le cas où il y a un appel actif (call_state_ringing ou call_state_offhook), à Obtenez le numéro de téléphone de l'appelant.

Des idées ?

Était-ce utile?

La solution

Donc, après avoir entendu plus loin, je suis maintenant sûr qu'il n'y a pas de moyen facile pour cela ...

Ce que j'ai finalement fait a été d'écouter l'intention de diffusion Action_Phone_state_changed et new_outgout_call et lorsque je les reçois, enregistrez une diffusion collante (celle que j'ai créée) qui contient un supplément avec le numéro de téléphone et une indication si c'est un appel entrant ou sortant. Je supprime cette intention collante lorsque j'obtiens une action_phone_state_changed avec call_state_idle).

Maintenant, quand j'ai besoin de savoir s'il y a un appel actif, j'essaie d'obtenir cette diffusion collante (registrerever avec un récepteur nul) et s'il y a un collant disponible, je peux obtenir le numéro de téléphone et une indication d'un appel entrant / sortant.

Une chose qui peut encore être améliorée est une meilleure gestion d'un appel d'attente puisque Action_Phone_state_changed sera reçu lors d'un appel actif et je ne peux pas dire ce qui est actif (Voir la question connexe)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top