Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在摘机状态下处理呼叫等待_Android_Phone State Listener - Fatal编程技术网

Android 在摘机状态下处理呼叫等待

Android 在摘机状态下处理呼叫等待,android,phone-state-listener,Android,Phone State Listener,我正在制作一个监控通话的应用程序。通过识别PhoneStateListener中的当前状态和前一状态,当我呼叫或接到呼叫(传出和传入)时,应用程序可以正常工作 例如,如果以前的状态是TelephonyManager.CALL_state\u IDLE,而新状态是TelephonyManager.CALL_state\u OFFHOOK,则它是一个传出呼叫 如果以前的状态是TelephonyManager.CALL\u state\u RINGING,而新的状态是TelephonyManager.

我正在制作一个监控通话的应用程序。通过识别PhoneStateListener中的当前状态和前一状态,当我呼叫或接到呼叫(传出和传入)时,应用程序可以正常工作

例如,如果以前的状态是
TelephonyManager.CALL_state\u IDLE
,而新状态是
TelephonyManager.CALL_state\u OFFHOOK
,则它是一个传出呼叫

如果以前的状态是
TelephonyManager.CALL\u state\u RINGING
,而新的状态是
TelephonyManager.CALL\u state\u OFFHOOK
,则是传入呼叫

如果以前的状态是
TelephonyManager.CALL_state\u RINGING
,而新的状态是
TelephonyManager.CALL_state\u IDLE
,那么肯定是未接来电

现在的问题来了,当我需要处理呼叫等待太在它。我这里有两种情况。第一种情况是,用户没有接听来电,等待的来电变成未接来电。另一种情况是,用户通过挂起当前呼叫来选择新呼叫,挂起新呼叫并选择挂起的呼叫。问题是,在这两种情况下,我得到了相同的状态,甚至呼叫号码也是相同的。这是他们发生时的状态变化-

(Numbers have been changed for privacy reasons)
OFFHOOK. Number = 123456 //Dials an outgoing call
RINGING. Number = 654321 //Gets a new call while on call
OFFHOOK. Number = 654321 //Rejects the new incoming call. Why it shows the new incoming number while the call is offhook with the outgoing call.
IDLE. Number = 123456 //Ends the outgoing call

OFFHOOK. Number = 123456 //Dials an outgoing call
RINGING. Number = 654321 //Gets a new call while on call
OFFHOOK. Number = 654321 //Accepts the new incoming call
//Hanging the incoming call has no events surprisingly
IDLE. Number = 123456 //Ends the outgoing call

所以我的问题是,是否有任何方法可以识别这两种情况,同时仍在待命。我知道有一种方法是在通话结束后检查通话记录,但我需要在通话时进行检查。

你找到了解决方法吗?@AH。还没有!仍然在寻找解决方案。我也遇到了同样的问题。请有人提出解决方案