Как мое приложение Android может обнаружить сброшенный звонок?

Я пишу приложение, предназначенное для запуска во время разговора. После того, как пользователь выполнит вызов и запустит мое приложение, я хочу, чтобы мое приложение могло узнать, был ли вызов отключен из-за плохого соединения. Это возможно? Благодаря

Ответ 1

Класс Android TelephonyManager предоставляет метод getCallState(), в котором будет отображаться статус текущего вызова. Вы будете искать переход от CALL_STATE_OFFHOOK до CALL_STATE_IDLE.

К сожалению, я не вижу никаких методов для регистрации обратного вызова, поэтому вам может потребоваться опрос.

http://developer.android.com/reference/android/telephony/TelephonyManager.html

Ответ 2

Не CALL_STATE_OFFHOOK → CALL_STATE_IDLE также указывает на нормально завершенный вызов?

Независимо от этого, вы можете просто проверить состояние вызова, используя метод callback onCallStateChanged класса PhoneStateListener. Это будет вызываться всякий раз, когда изменяется состояние, и вы можете переключить предоставленный статус, чтобы найти, в каком состоянии оно находится.