2017-08-16 2 views
1

私がコール中にモードを検出しようとしています。私は、最も一般的な例を放送とtelephonyManagerで使用しています。
しかし、3つの状態しかありません。 を鳴らす= iの状態を見るよりも - - この状態= OFFHOOK「コールモードで」を検出する方法android java

2)が、イムは何の発信からのコールを受け入れる

1)時に着信コール:

String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE); 
if(state.equals(TelephonyManager.EXTRA_STATE_RINGING)){ 

} 
if (state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)){ 

} 
if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)){ 

} 

は、いくつかのテストの後、私はことを発見しましたコール状態=オフフック、そして相手側の別の「私」がコール状態を受け入れるとき=まだオフフック。

どのようにしてIN_CALL_MODE(現時点で話すことを意味する)を正しく検出するか。 ? 助けてもらえますか?

答えて

0

AudioManagerの使用はどうですか?

AudioManager manager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE); 
if(manager.getMode()==AudioManager.MODE_IN_CALL){ 
    return true; // Active call 
} 
else { 
    return false; 
} 
+0

その作業は、ありがとうございます。 – Peter

+0

実際には動作しません。私は最後の時間をテストする方法を知らない。 – Peter

関連する問題