我有一部植根的电话,并且我想实现一个方案,如果电话在常规电话中已经很忙并且有新的来电到达,则我的程序挂断当前电话并以编程方式接受此新电话。 我发现adb命令可以很好地接受和拒绝呼叫,但是当我同时执行这些命令以实现上述情况时(放弃当前呼叫并接受新的来话呼叫),我陷入了新的来话建立但又没有声音的情况在被叫方和接收方。以下是这些adb命令:
Drop Call: input keyevent KEYCODE_ENDCALL
Accept Call: input keyevent KEYCODE_CALL
我还尝试通过Thread.sleep(3000)在这些调用中添加一些延迟黑白,但似乎不起作用。 在电话日志中,我在接听新电话时看到错误,这是一个错误:
06-20 12:42:27.728 1105-2856/system_process E/JavaBinder: *** Uncaught remote exception! (Exceptions are not yet supported across processes.)
java.util.NoSuchElementException: Death link does not exist
at android.os.BinderProxy.unlinkToDeath(Native Method)
at com.android.server.audio.AudioService.setModeInt(AudioService.java:2547)
at com.android.server.audio.AudioService.setMode(AudioService.java:2518)
at android.media.IAudioService$Stub.onTransact(IAudioService.java:279)
at android.os.Binder.execTransact(Binder.java:697)
任何人都可以解释这个原因以及解决该问题的任何反馈意见。