0

どうすればそれを知ることができますか..解決策がないようです?? スーですか?

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 が開始され、通話が終了するまで残ります..呼び出し中または選択されたときを区別する方法はありません..私のプロジェクトは、通話がいつ選択されたかを知る必要があります..

4

2 に答える 2

0

私の知る限り、同じものに対するパブリック API はありません。また、情報 EXTRA_STATE_OFFHOOK を印刷して、通話が接続されたときに情報が含まれているかどうかを確認することもできます。

于 2012-11-14T16:33:53.400 に答える
0

発信コールが応答されたかどうかを検出する方法はありません。番号をダイヤルすると OFFHOOK 状態がトリガーされるため、着信コールが鳴っているときと応答されたときを識別できますが、発信コールでは同じではありません。

于 2015-07-23T19:28:39.773 に答える