2010-10-18 47 views
6

我会得到一个电话的传出呼叫持续时间,我认为当对方的人响应我的呼叫时,但是通过PhoneStateListener我们可以获得呼叫的状态,但是当传出呼叫开始时PhoneStateListener立即将状态更改为CALL_STATE_OFFHOOK而不是当对方回答时,所以我不能在对话期间得到通话的有效时间。 任何想法做到这一点在通话过程中可以接听外线电话吗?

在此先感谢!

+0

将有可能检测到通话开始时,记录时间你自己,然后在以后的时间计算,因为这种呼叫的启动传递的时间长度?你可能需要做一些技巧来适应时钟变化或某些事情,但理论上这样的事情可能是可能的。 (我没有尝试这个,这就是为什么我没有答案)。 – Tom 2011-04-29 12:52:48

+0

@Tom有可能,但有时需要一段时间才能获得开始/应答呼叫的意图。 – 2013-09-30 11:36:59

+0

@mardvd你解决了这个问题吗?也想知道有关来电的答案,而不只是传出的电话。 – 2013-09-30 11:39:01

回答

2

我认为这是可能的只是通过监视通话记录。您可以在通话结束时查询通话记录,并且持续时间字段会告诉您您想知道的内容。

这是一个很好的教程。只需将CallLog.Calls.DURATION字段添加到数组中即可。

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

我希望这会有所帮助。

灵光

+2

这是事实,我可以确认这是有效的,但是在OP调查期间* *无法*确定通话期间*。 – 2011-03-07 09:55:49

相关问题