如何在来电断开后获取电话IDLE状态?

时间:2014-08-27 17:07:33

标签: android

当使用PhoneStateListener接听来电时,我可以很容易地获得IDLE状态但是我需要一个IDLE电话状态的来电和条件是:假设来电正在进行中,有人在两者之间拨打未接来电。每次我得到第一个错过调用IDLE状态然后进入断开IDLE状态。有没有想法确定哪个Phone IDLE状态正在执行?

你的回答将是值得赞赏的。感谢

1 个答案:

答案 0 :(得分:0)

您可以做的是为每个州维持一个标志值。然后在EXTRA_STATE_IDLE中使用它来知道它是第一次呼叫还是当前呼叫正在进行 -

if(state.equals(TelephonyManager.EXTRA_STATE_RINGING))
            {           
                      ring =true;  

            }
if(state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK))
         {
                callReceived=true;
          }

然后在空闲状态下使用这两个标志来知道它是哪个调用 -

 if (state.equals(TelephonyManager.EXTRA_STATE_IDLE))
            {
                      // If phone was ringing(ring=true) and received(callReceived=true) 
                       if(ring==true&&callReceived==true)
                       {
                          Log.i("Detect","Call is currently going on");
                       }
          }