2010-10-18 16 views
6

recibiría una llamada de duración de llamada saliente, pensé para obtenerla cuando la persona del otro lado contestara mi llamada, pero con PhoneStateListener podemos obtener el estado de una llamada, pero PhoneStateListener cambia el estado a CALL_STATE_OFFHOOK inmediatamente cuando comienza la llamada saliente y no cuando la persona al otro lado responde, por lo que no puedo obtener el tiempo efectivo de llamada durante una conversación. Cualquier idea para hacer esto¿Es posible obtener la duración de la llamada saliente durante la llamada?

¡Gracias de antemano!

+0

sería posible detectar cuando se inicia la llamada, registrar el tiempo por su cuenta, y luego a veces más tarde calcular la duración de tiempo que pasó desde el inicio de la llamada? Puede que tenga que hacer algún truco para ser resistente al cambio de reloj o algo así, pero en teoría algo como esto puede ser posible. (No probé esto, razón por la cual no lo convertí en una respuesta). – Tom

+0

@Tom es posible, pero a veces toma algún tiempo hasta que usted tiene la intención de que la llamada se inicie/responda. –

+0

@mardvd resolvió este problema? también me gustaría saber la respuesta sobre las llamadas entrantes y no solo las llamadas salientes. –

Respuesta

2

Creo que esto es posible simplemente espiar en el registro de llamadas. Puede consultar el registro de llamadas al final de una llamada y el campo de duración le dirá lo que desea saber.

Aquí hay un buen tutorial. Simplemente agregue el campo CallLog.Calls.DURATION a la matriz.

http://www.dcpagesapps.com/developer-resources/android/25-android-tutorial-call-logs

espero que esto ayude.

Emmanuel

+2

Esto es cierto, y puedo confirmar que esto funciona, pero * no * es posible determinar la duración * durante * la llamada, como lo hizo el OP. –

Cuestiones relacionadas