java.lang.IllegalStateException:结果未挂起时调用
我正在创建拨号器,我想在点击按钮时断开呼叫,我正在尝试java.lang.IllegalStateException:结果未挂起时调用,java,android,Java,Android,我正在创建拨号器,我想在点击按钮时断开呼叫,我正在尝试 public class OutgoingCallListener extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { setResultData(null); } } 在这里,我在按钮onclick函数中被调用 try{ Ou
public class OutgoingCallListener extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
setResultData(null);
}
}
在这里,我在按钮onclick函数中被调用
try{
OutgoingCallListener out = new OutgoingCallListener();
Intent intent = new Intent();
out.onReceive(this, intent);
}catch(Exception e){
Log.i("ii", "exception in end call", e);
}
这里是完整的日志跟踪
exception in end call
06-17 17:48:05.282: I/ii(17159): java.lang.IllegalStateException: Call while result is not pending
06-17 17:48:05.282: I/ii(17159): at android.content.BroadcastReceiver.checkSynchronousHint(BroadcastReceiver.java:780)
06-17 17:48:05.282: I/ii(17159): at android.content.BroadcastReceiver.setResultData(BroadcastReceiver.java:586)
06-17 17:48:05.282: I/ii(17159): at me.cs.oicalls.OutgoingCallListener.onReceive(OutgoingCallListener.java:14)
06-17 17:48:05.282: I/ii(17159): at me.cs.oicalls.CallOut.endCall(CallOut.java:106)
06-17 17:48:05.282: I/ii(17159): at java.lang.reflect.Method.invokeNative(Native Method)
06-17 17:48:05.282: I/ii(17159): at java.lang.reflect.Method.invoke(Method.java:525)
06-17 17:48:05.282: I/ii(17159): at android.view.View$1.onClick(View.java:3602)
06-17 17:48:05.282: I/ii(17159): at android.view.View.performClick(View.java:4212)
06-17 17:48:05.282: I/ii(17159): at android.view.View$PerformClick.run(View.java:17476)
06-17 17:48:05.282: I/ii(17159): at android.os.Handler.handleCallback(Handler.java:800)
06-17 17:48:05.282: I/ii(17159): at android.os.Handler.dispatchMessage(Handler.java:100)
06-17 17:48:05.282: I/ii(17159): at android.os.Looper.loop(Looper.java:194)
06-17 17:48:05.282: I/ii(17159): at android.app.ActivityThread.main(ActivityThread.java:5371)
06-17 17:48:05.282: I/ii(17159): at java.lang.reflect.Method.invokeNative(Native Method)
06-17 17:48:05.282: I/ii(17159): at java.lang.reflect.Method.invoke(Method.java:525)
06-17 17:48:05.282: I/ii(17159): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
06-17 17:48:05.282: I/ii(17159): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
06-17 17:48:05.282: I/ii(17159): at dalvik.system.NativeStart.main(Native Method)
为什么要调用onReceive方法 BroadcastReceive()方法在触发该事件时自动被调用(如果您注册了OutgoingCallListener,则在您的情况下)供参考:与(未响应)相同