Информация об исходящих вызовах через Android BroadcastReceiver

Я хочу найти некоторые события после того, как я набрал номер, то есть на стороне получателя звонок принят или отклонен или занят или недоступен. Как найти эти события в Android. Я нашел некоторые API в android.TelephonyManager, но для IN_COMMING_CALL. И я использую BroadcastReceiver(), чтобы найти события после того, как я набрал номер. кусок кода есть,

public void onReceive(Context context, Intent intent) {
    System.out.println("before if condition");
        if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
            System.out.println("**outgoingcall***");
        }       
};

Я не могу обнаружить, что вызов принят или отклонен или занят на устройстве назначения. Существуют ли какие-либо сетевые API для поиска этих событий во время outgoing_call в Android? Помогите мне, пожалуйста

также я использовал PhoneStateListener, код

private class ListenToPhoneState extends PhoneStateListener {

    public void onCallStateChanged(int state, String incomingNumber) {
        Log.i("telephony-example", "State changed: " + stateName(state));
    }

    String stateName(int state) {
        switch (state) {
            case TelephonyManager.CALL_STATE_IDLE: 
            System.out.println("phone is idle****");
            break;  
            case TelephonyManager.CALL_STATE_OFFHOOK: 
            System.out.println("phone is offhook****");
            break;  
            case TelephonyManager.CALL_STATE_RINGING:
            System.out.println("phone is Ringing***");
            break;  
        }
        return Integer.toString(state);
    }
}

Но я не получаю события на Outgoing_call.. Спасибо, Шив

1 ответ

Решение

Используйте PhoneStateListener или следите за ACTION_PHONE_STATE_CHANGED вещательными намерениями.

Другие вопросы по тегам