2011-07-13 25 views
0

Androidで、着信と発信の開始と終了を検出して音声を一時停止したり再生したりする信頼できる方法がありますか?Android 2.1+着信/発信通話の一時停止、完了したら再開

私は次のように行われている:

着信コールのために働くようだが、他の人が拾ったときに発信コールのために、私は携帯電話の通話が終了していないとき... CALL_STATE_IDLEを取得
telephonyManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); 
      callEventListener = new PhoneStateListener(){ 

       @Override 
       public void onCallStateChanged(int state, String incomingNumber) { 
        super.onCallStateChanged(state, incomingNumber); 
        if (state == TelephonyManager.CALL_STATE_IDLE){ 
         //.... 
        } 
        else if (state == TelephonyManager.CALL_STATE_RINGING){ 
         //.... 
        } 
       } 
      }; 
telephonyManager.listen(callEventListener, PhoneStateListener.LISTEN_CALL_STATE); 

。私は何か愚かなことをしなければならない、あるいは私が確認できる何かを欠いていると思う?

答えて

1

発信コールが開始されたときに状態の更新を取得していない点が正しいです。

インテントブロードキャストACTION_NEW_OUTGOING_CALLにフックする必要があります。ここにはAndroid Developer Blogがあり、それが注文放送であるという事実を理解するのに役立つかもしれない。そして、このブロードキャストをセットアップして使用する方法の簡単な例を示した0​​があります。

関連する問題