2016-09-30 15 views
0

Androidにpjsipライブラリを正常に統合しました。私はまた、着信を受けて、発信呼び出しをしています。唯一のことは、着信コールイベントに基づいて行う必要があることです。例えば、着信呼が来たときに、まず呼出しを選択するオプションをユーザに提示し、ボタンが押されたときに呼に応答する必要がある。しかし、今、呼び出しを選択するためのアクティビティに行くコードを記述すると、メソッドは失敗します。私がonIncomingCall内でanswerIncomingCall()を直接呼び出すと、その呼び出しはHandler.postではなくプログラム自体によって完全に応答されます。着信コールをインターセプトする方法pjsip

誰かがあなたが「onIncomingCall」内のコールに応答する必要があり、この

@Override 
     public void onIncomingCall(OnIncomingCallParam prm) { 
      System.out.println("*** Incoming call....... " + prm.getCallId()); 

      onIncomingCallParam = prm; 

      System.out.println("*** Incoming call....... 1"); 

      Handler mainHandler = new Handler(context.getMainLooper()); 

      Runnable runnable = new Runnable() { 
       @Override 
       public void run() { 
        Log.d(TAG,"Sip callback=>"+sipCallbacks); 

        if(sipCallbacks != null) { 
         sipCallbacks.onIncomingCall(); 
        } 
       } 
      }; 

      mainHandler.post(runnable); 

      try { 
       Thread.sleep(10000); 
      } catch (InterruptedException ie) { 
       ie.printStackTrace(); 
      } 

      System.out.println("*** Incoming call....... 2"); 

     } 

     public void answerIncomingCall() { 
      Call call = new MyCall(acc, onIncomingCallParam.getCallId()); 
      CallOpParam callOpParam = new CallOpParam(); 
      callOpParam.setStatusCode(pjsip_status_code.PJSIP_SC_OK); 

      try { 
       call.answer(callOpParam); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
+0

「方法が失敗しました」 - これについてログには何が記載されていますか? – user1506104

+0

私は問題がある、iOS – Eesha

答えて

0

を行う方法を手伝ってくれる。ユーザーが通話を受け入れるか拒否するかを示すダイアログを表示するには、コード180(呼び出し中)で通話にすぐに応答する必要があります。

関連する問題