我怎么知道......似乎没有解决方案?是洙吗?
public void onCallStateChanged(int state, String incomingNumber) {
switch(state) {
case TelephonyManager.CALL_STATE_IDLE:
Log.d("Tony","Outgoing Call finished");
// Call Finished -> stop counter and store it.
callStop=new Date().getTime();
context.stopService(new Intent(context,ListenerContainer.class));
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.d("Tony","Outgoing Call Starting");
// Call Started -> start counter.
// This is not precise, because it starts when calling,
// we can correct it later reading from call log
callStart=new Date().getTime();
break;
}
}
这里我们只有2个州?还有其他方法吗? 一旦我们开始通话,OFFHOOK就会启动,直到通话结束为止......没有办法区分响铃或选择的时候......我的项目需要知道何时接听电话..
答案 0 :(得分:0)
据我所知,没有相同的公共API。您也可以尝试打印EXTRA_STATE_OFFHOOK信息,以查看它是否包含连接呼叫时的任何信息。
答案 1 :(得分:0)
无法检测是否接听了拨出电话。您可以识别来电何时响铃以及何时应答来电但与拨出电话不一致,因为当您拨打号码时会触发OFFHOOK状态。