Обнаружение вызова при удержании

Я хотел знать, есть ли какой-либо окончательный способ узнать, будет ли вызов переведен на удержание только получателем на стороне приемника.

Теперь я проверил документацию Telephony , и это показывает, что для вызова есть три состояния:

  1. CALL_STATE_IDLE : когда нет активности вызова
  2. CALL_STATE_RINGING : при вызове нового вызова и ожидании его CALL_STATE_RINGING .
  3. CALL_STATE_OFFHOOK : существует, по крайней мере, один вызов, который CALL_STATE_OFFHOOK , активирует или удерживает нажатой, и никакие вызовы не звонят или не ожидают.

Здесь лежит проблема, OFFHOOK принимает активное и удерживающее состояние как одно. Кажется, нет никакого способа различать их. Но интересное замечание, которое я сделал, заключалось в том, что дозвонщик получает уведомление, когда вызов извлекается из удержания, это означает, что существует какой-то способ узнать разницу. Следовательно, я был бы обязан, если бы вы помогли мне найти этот путь.

Похоже, что существующие API телефонии не позволяют вам читать точное состояние вызова.

Однако в этой фиксации https://github.com/android/platform_frameworks_base/commit/c5ac15a3e11c03951e269b243674858411204b67 Вы можете увидеть предложение для точного контроля состояния вызова.

https://android-review.googlesource.com/#/c/60660/ Здесь вы можете увидеть, что в 13 февраля 5:26 утра это «изменение было успешно объединено в репозиторий git».

Это означает, что рано или поздно мы увидим это в будущей версии Android.