如何拨打电话开始通话时间?

时间:2017-08-16 12:48:12

标签: android telephonymanager

我想在应用中记录我的来电。我在broadcastreceiver中使用TelephonymanageronCallStateChanged

所以我们有三种状态:

TelephonyManager.CALL_STATE_RINGING
TelephonyManager.CALL_STATE_OFFHOOK
TelephonyManager.CALL_STATE_IDLE

当我开始拨打电话时,会调用onCallStateChangedCALL_STATE_OFFHOOK。然后我等待答案。当某人接听电话时,会话开始,但{3}状态中的任何一个都不会触发onCallStateChanged。当我们开始讲话时,如何获得确切的时间?

1 个答案:

答案 0 :(得分:0)

除非您的应用是设备上的默认手机应用,否则无法进行此操作。

如果您的应用是手机应用,并且用户手动将其设置为默认手机应用,您的应用也会实施InCallService来处理来电屏幕。

您将在InCallService实现中加入包含此类信息的Call类型的对象(这样您就可以在发生此类事件时在屏幕上切换UI。

如果您不是默认的手机应用程序恕我直言,则无法获取Call对象。