当使用PhoneStateListener接听来电时,我可以很容易地获得IDLE状态但是我需要一个IDLE电话状态的来电和条件是:假设来电正在进行中,有人在两者之间拨打未接来电。每次我得到第一个错过调用IDLE状态然后进入断开IDLE状态。有没有想法确定哪个Phone IDLE状态正在执行?
你的回答将是值得赞赏的。感谢
答案 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");
}
}