I am trying to identify and transfer to an activity after an outgoing call is initiated. I used ACTION_NEW_OUTGOING_CALL
in the Intent filter. However how csn I identify that the call is outgoing. I did this for an incoming call (as seen below) but what can I use instead of EXTRA_STATE_RINGING
.
public class OutgoingBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if (state.equals(TelephonyManager.EXTRA_STATE_RINGING))
{
Intent i = new Intent(context, OutgoingCallScreenDisplay.class);
i.putExtras(intent);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
}
ACTION_NEW_OUTGOING_CALL is a constant declare in the
Intent
class, not inTelephonyManager
. When an outgoing call appears, then the system broadcasts an intent with this constant. If you really want to catch an outgoing call by usingTelephonyManager
then do this:Detect outgoing phone call event
1. Create OutgoingCallBroadcastReceiver
2. Register OutgoingCallBroadcastReceiver in AndroidManifest.xml
3. Add permission in AndroidManifest.xml