как получить только активные звонки от PhoneStateListener

1

Я хочу получать только активные вызовы с PhoneStateListener. Я создал слушателя с методом onCallStateChanged. Как только я набираю (и звонок поднят), состояние уже отключено.

Ну, это меня не удивляет, потому что текст в API: Состояние вызова устройства: Снять трубку. Существует, по крайней мере, один вызов, который набирает, активно или удерживается, а вызовы не звонят или не ждут.

Но есть ли возможность получать только активные вызовы? Thnx!

Теги:

1 ответ

-2

Из того, что я пробовал по моей связи, активный звонок по вызову CALL_STATE_OFFHOOK, попробуйте использовать файл журнала, чтобы просмотреть шаги.

попробуйте это.

private PhoneStateListener mPhoneListener = new PhoneStateListener() {
public void onCallStateChanged(int state, String incomingNumber) {
        switch (state) {
        case TelephonyManager.CALL_STATE_RINGING:
                Log.d(TAG, "ringing goes here");
                break;

        case TelephonyManager.CALL_STATE_OFFHOOK:
                Log.d(TAG, "Active call goes here");
                break;

        case TelephonyManager.CALL_STATE_IDLE:
                                Log.d(TAG, "CALL STATE IDLE goes here");
                break;
         default:
                Log.d(TAG, "Unknown state=" + state);
        }
}

а затем назовите его:

 @Override
   public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

        TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
        tm.listen(mPhoneListener, PhoneStateListener.LISTEN_CALL_STATE);
}

Не забудьте добавить разрешение на ваш файл манифеста:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

надеюсь, что это поможет

Ещё вопросы

Сообщество Overcoder
Наверх
Меню