2010-10-18 4 views
6

Ich würde ausgehende Anruf Dauer einen Anruf erhalten, dachte ich zu bekommen, wenn die Person auf die andere Seite meinen Anruf beantworten, aber mit PhoneStateListener können wir den Status eines Anrufs, aber PhoneStateListener ändert den Status in CALL_STATE_OFFHOOK sofort, wenn der ausgehende Anruf beginnt und nicht wenn die Person auf die andere Seite antwortet, so kann ich die effektive Zeit des Anrufs während einer Konversation nicht bekommen. Irgendwelche Ideen, dies zu tunEs ist möglich, während des Gesprächs die Dauer eines ausgehenden Anrufs zu erhalten.

Vielen Dank im Voraus!

+0

wäre es möglich, zu erkennen, wenn der Anruf beginnt, die Zeit auf eigener Faust aufzunehmen, und dann zu einem späteren Zeitpunkt berechnet die Dauer der Zeit, die seit dem Start des Aufrufs übergeben? Sie müssen möglicherweise einige Tricks durchführen, um gegen Änderungen der Uhrzeiten oder so etwas widerstandsfähig zu sein, aber theoretisch ist so etwas möglich. (Ich habe das nicht versucht, weshalb ich es nicht beantwortet habe). – Tom

+0

@Tom es ist möglich, aber manchmal dauert es einige Zeit, bis Sie die Absicht haben, dass der Anruf gestartet/beantwortet wird. –

+0

@mardvd haben Sie dieses Problem gelöst? möchte auch die Antwort über eingehende Anrufe und nicht nur ausgehende Anrufe wissen. –

Antwort

2

Ich denke, das ist einfach durch Ausspionieren der Anrufliste möglich. Sie können das Anrufprotokoll am Ende eines Anrufs abfragen, und im Feld "Dauer" erfahren Sie, was Sie wissen möchten.

Hier ist ein nettes Tutorial. Fügen Sie einfach das Feld CallLog.Calls.DURATION dem Array hinzu.

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

Ich hoffe, das hilft.

Emmanuel

+2

Das stimmt, und ich kann bestätigen, dass das funktioniert, aber es ist * nicht * möglich, die Dauer * während * des Anrufs zu bestimmen, wie das OP anfragte. –

Verwandte Themen