Cómo pasar Extra a BroadcastReceiver, al iniciar ACTION_CALL

Estoy iniciando una nueva llamada de mi actividad. Y tratando de pasar un extra booleano.

public class CallInitiatingActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + number)); intent.putExtra("com.demoapp.CUSTOM_CALL", true); startActivity(intent); } } 

También tengo un BroadcastReceiver registrado, que escucha las llamadas salientes:

 <receiver android:name=".OutgoingCallListener" android:exported="true" > <intent-filter android:priority="0" > <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> 

Básicamente lo que estoy esperando onReceive para ver mi extra, pero de alguna manera no se pasa:

 public class OutgoingCallListener extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Bundle extras = intent.getExtras(); for (String key : extras.keySet()) { Log.i(Constant.LOG_TAG, key + ": " + extras.get(key)); } } } 

Salida:

 android.phone.extra.ALREADY_CALLED:false android.intent.extra.PHONE_NUMBER:+370652xxxxx com.htc.calendar.event_uri:null android.phone.extra.ORIGINAL_URI:tel:+370652xxxxx 

Su extra personalizado está presente en el intento que utiliza para iniciar la actividad de "llamada". Pero no se copia en la intención NEW_OUTGOING_CALL que se emite como parte del mecanismo de llamada real. Estas 2 operaciones son distintas y sólo indirectamente relacionadas entre sí. Solo el sistema Android puede transmitir la intención NEW_OUTGOING_CALL .

No puede agregar sus propios extras a esta Intención. Tendrás que encontrar otra manera de hacer lo que sea que estás tratando de lograr.

  • GCM no recibe el mensaje de abajo Android 4
  • ¿Cómo llevar una actividad al primer plano (parte superior de la pila)?
  • ¿Cómo añadir acción visible sólo en aplicaciones específicas a ACTION_SEND?
  • Evento de calendario intent - startActivityForResult
  • Abrir cámara Android en una resolución inferior con ACTION_IMAGE_CAPTURE
  • ¿Cómo puedo utilizar startActivityForResult en el método getView en la clase ArrayAdapter?
  • Android: validar la identidad del remitente de la intención
  • Actividades de conmutación de Android
  • Abrir foro en Tapatalk vía Intent
  • Ocultar el icono de la aplicación y ejecutarlo
  • IntentNotFoundException para TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.