54 votes

Détecter si un appel sortant a été répondu

Une fois ACTION_NEW_OUTGOING_CALL a été diffusé, j'ai besoin de capturer l'événement suivant de l'autre partie de la réponse. Pourriez-vous des conseils sur la manière d'y parvenir s'il vous plaît? Je sais qu'il est possible que l'android dialer app change le vert android icône de la photo de la personne excatly au moment du retrait. Merci!

Mise à JOUR: j'ai eu un coup d'oeil à la source de l'appli sur Android manipulation des appels sortants. J'ai remarqué que la méthode suivante en ContactsUtils:

/**
 * Kick off an intent to initiate a call.
 */

 public static void initiateCall(Context context, CharSequence
 phoneNumber) {
     Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
             Uri.fromParts("tel", phoneNumber.toString(), null));
     context.startActivity(intent); }

Je suppose que ma réponse est dans l'activité d'écoute pour Intent.ACTION_CALL_PRIVILEGED. Donc, pour reprhase ma question: est-ce que quelqu'un sait qui l'activité poignées Intent.ACTION_CALL_PRIVILEGED? Je vous remercie à l'avancée

7voto

rbd Points 99

Je ne pense pas qu'il existe une telle API et qu'il n'y ait pas non plus d'API pour l'envoi de fichiers DTMF pour la même raison que vous ne pouvez pas savoir quand l'appel est en cours de connexion.

3voto

pgsandstrom Points 5085

Cela ne doit pas nécessairement être possible de capturer cela en tant qu'application externe. L'icône androïde verte fait partie de l'application qui contrôle l'appel. Par conséquent, il n'est pas nécessaire de diffuser une émission pour changer l'icône.

1voto

kkreddy Points 49

En ce qui concerne le gestionnaire de téléphonie android, vous ne pouvez pas détecter par programme si l'appel a été répondu ou non. C'est-à-dire que vous n'avez pas la possibilité de savoir quand l'utilisateur a pris le téléphone à l'autre bout. Android a 3 états de gestionnaire de téléphonie et aucun d’eux n’est capable de détecter si l’appel a été répondu ou non (EN CAS D’APPELS SORTANTS)

0voto

NeTeInStEiN Points 7331

La seule façon de procéder consiste à analyser les journaux Logcat . Aucun événement PhoneStateListener n’est disponible pour cela.

Certains le demandent ici: https://code.google.com/p/android/issues/detail?id=14266

Quoi qu'il en soit, dans les versions supérieures à Android 4.2, Logcat étant "bac à sable", cela peut être impossible ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X