У меня есть рутированный телефон, и я хочу реализовать сценарий, согласно которому, если телефон уже занят обычным телефонным вызовом и поступает новый входящий вызов, моя программа прерывает текущий вызов и принимает этот новый вызов программно.
Я нахожу команды 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)
Может кто-нибудь объяснить эту причину и любые отзывы, чтобы решить эту проблему.