我想在应用中记录我的来电。我在broadcastreceiver中使用Telephonymanager
和onCallStateChanged
。
所以我们有三种状态:
TelephonyManager.CALL_STATE_RINGING
TelephonyManager.CALL_STATE_OFFHOOK
TelephonyManager.CALL_STATE_IDLE
当我开始拨打电话时,会调用onCallStateChanged
和CALL_STATE_OFFHOOK
。然后我等待答案。当某人接听电话时,会话开始,但{3}状态中的任何一个都不会触发onCallStateChanged
。当我们开始讲话时,如何获得确切的时间?
答案 0 :(得分:0)
除非您的应用是设备上的默认手机应用,否则无法进行此操作。
如果您的应用是手机应用,并且用户手动将其设置为默认手机应用,您的应用也会实施InCallService
来处理来电屏幕。
您将在InCallService
实现中加入包含此类信息的Call
类型的对象(这样您就可以在发生此类事件时在屏幕上切换UI。
如果您不是默认的手机应用程序恕我直言,则无法获取Call
对象。