Статус исходящего звонка - PullRequest
5 голосов
/ 20 января 2010

Мой запрос, я хочу получать уведомление, если получатель на другой стороне принимает мой вызов, когда я делаю исходящий вызов.Возможно ли это с помощью Android SDK.

Функция onCallStateChanged вызывается только тогда, когда абонент набирает номер (OFFHOOK) со своего телефона и когда лицо, принимающее вызов, отключает вызов (IDLE), но нетПараметр состояния, чтобы узнать, получил ли другой конечный человек вызов?

public class MyPhoneStateListener extends PhoneStateListener{

    public void onCallStateChanged(int state,String incomingNumber){
        Log.d("Checking---->",TelephonyManager.ACTION_PHONE_STATE_CHANGED);
    }
}

Logcat выдает только следующую информацию при получении вызова на другой стороне:

01-19 19:33:30.633: DEBUG/CallNotifier(638): stopRing()... (OFFHOOK state)
01-19 19:33:30.662: DEBUG/Ringer(638): stopRing()...
01-19 19:33:30.694: DEBUG/Ringer(638): - stopRing: null mRingHandler!
01-19 19:33:31.256: DEBUG/PhoneApp(638): updateWakeState: callscreen true, dialer false, speaker false...
01-19 19:33:31.287: DEBUG/PhoneApp(638): updateWakeState: keepScreenOn = false (isRinging false, showingDisc false)

1 Ответ

1 голос
/ 07 ноября 2010

У меня такая же проблема. Я использую PhoneStateListener для входящих звонков, он работает хорошо. Но для исходящих звонков я смог зарегистрировать BroadcastReceiver только для намерения android.intent.action.NEW_OUTGOING_CALL.

Насколько мне известно, нет способа определить, подобралась ли другая сторона или нет. Однако вы можете использовать CallLog для извлечения информации о вызовах в автономном режиме. Подробные события состояния вызова доступны только через внутренний класс com.android.internal.telephony.Phone, к которому у вас не будет доступа, пока вы не скомпилируете свой собственный Andoid.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...