我已成功将pjsip库与Android集成。我也接到来电并拨打电话。唯一的问题是,我需要制作来电事件。例如,当有来电时,我需要首先向用户显示一个选项以选择呼叫,当按下按钮时,我需要接听电话。但是现在,如果我输入代码去活动来接听电话,那么该方法就失败了。如果我在onIncomingCall中直接调用answerIncomingCall(),则程序本身而不是Handler.post会完全回答该调用。
有人可以帮我怎么做
@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 :(得分:0)
您必须在“onIncomingCall”内接听电话。如果要显示用户接受或拒绝呼叫的对话框,则必须立即使用代码180(振铃)应答呼叫。