我的问题是,当我有多个已接来电时(比如说2个保持3个,1个有效),当呼叫者断开任何2个呼叫时,我不会得到CALL_STATE_IDLE
。但是在最后一次通话断开时获取CALL_STATE_IDLE
。 CALL_STATE_RINGING
& CALL_STATE_OFFHOOK
工作正常。
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
Log.e("MyService", "Switch " + state);
switch (state) {
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.e("MyService", "CALL_STATE_OFFHOOK");
break;
case TelephonyManager.CALL_STATE_RINGING:
Log.e("MyService", "CALL_STATE_RINGING");
break;
case TelephonyManager.CALL_STATE_IDLE:
Log.e("MyService", "CALL_STATE_IDLE");
break;
default:
Log.e("MyService", "default");
break;
}
}
答案 0 :(得分:0)
这不是解决问题的答案。但是,它确实为解决方案增加了价值
什么是CALL_STATE_IDLE?
设备呼叫状态:无活动。
因此,当存在活动行时,我们不应期望它发送CALL_STATE_IDLE状态。这就是为什么只有在所有呼叫都断开时才会广播事件CALL_STATE_IDLE