Завершить текущий звонок и принять новый входящий звонок, установив тихий звонок - PullRequest
1 голос
/ 20 июня 2019

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

Может кто-нибудь объяснить эту причину и любые отзывы, чтобы решить эту проблему.

...