Search code examples
androidbroadcastreceiver

Incoming call broadcast receiver


I have registered incomingCall broadcast receiver, and it works fine, but I need receiver when the call is established (or rejected). What I actually need is something to notify me when the user press 'Answer' or 'Reject' call.


Solution

  • You can override your onReceive method of BroadcastReceiver as below

    public void onReceive(Context context, Intent intent) {
    
        String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
    
        if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
            //Phone is ringing
        } else if (state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) {
            //Call received
        } else if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)) {
            //Call Dropped or rejected
        }
    }