如何知道何时接听拨出电话?

时间:2012-11-14 13:49:04

标签: android

我怎么知道......似乎没有解决方案?是洙吗?

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就会启动,直到通话结束为止......没有办法区分响铃或选择的时候......我的项目需要知道何时接听电话..

2 个答案:

答案 0 :(得分:0)

据我所知,没有相同的公共API。您也可以尝试打印EXTRA_STATE_OFFHOOK信息,以查看它是否包含连接呼叫时的任何信息。

答案 1 :(得分:0)

无法检测是否接听了拨出电话。您可以识别来电何时响铃以及何时应答来电但与拨出电话不一致,因为当您拨打号码时会触发OFFHOOK状态。