Я пишу приложение, предназначенное для запуска во время разговора. После того, как пользователь выполнит вызов и запустит мое приложение, я хочу, чтобы мое приложение могло узнать, был ли вызов отключен из-за плохого соединения. Это возможно? Благодаря
Как мое приложение 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. Это будет вызываться всякий раз, когда изменяется состояние, и вы можете переключить предоставленный статус, чтобы найти, в каком состоянии оно находится.