如何获得传出通话开始通话时间?

如何获得传出通话开始通话时间?

问题描述:

我想在应用程序中记录我的呼叫。我在广播接收器中使用TelephonymanageronCallStateChanged如何获得传出通话开始通话时间?

因此,我们有三种状态:

TelephonyManager.CALL_STATE_RINGING 
TelephonyManager.CALL_STATE_OFFHOOK 
TelephonyManager.CALL_STATE_IDLE 

当我开始呼出,与CALL_STATE_OFFHOOKonCallStateChanged被调用。然后我等待答案。当一个人接听电话时,对话开始,但是onCallStateChanged不会被这3个状态中的任何一个触发。如何获得确切的时间,当我们开始讲话?

+0

当一个人真的拿起电话时没有任何事件被触发。目前只有这些事件是不可能的。 –

这是不可能的,除非您的应用程序是设备上的默认电话应用程序。

如果你的应用程序是一个手机应用程序,用户手动将其设置为默认的手机应用程序,并且您的应用程序还实现InCallService处理呼入电话屏幕。

您将在InCallService实现获得包含这些信息Call类型的对象(这样你就可以切换屏幕上的UI当这样的事件发生。

这是不可能得到,如果你的Call对象'不是默认的电话应用程序恕我直言。