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:
- Aplicación para Android que sobrevive a la memoria limpia
- Diferencia entre el intento.setClass () y el intento.setComponent ()
- Cómo informar al usuario de que necesita instalar otra aplicación de la que dependa mi aplicación
- ¿Qué hace Intent.putExtra?
- Comprobar si la aplicación está instalada - Android
<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
- ¿Qué es START_STICKY, START_NOT_STICKY y START_REDELIVER_INTENT servicio
- Intención no se restaura correctamente después de que se cancela la actividad si se suministran banderas superiores e individuales
- Abrir un fragmento de una actividad de otra actividad
- Única instancia de una actividad en android
- Diferencia entre getExtras (). GetSerializable () y getSerializableExtra ()
- Receptor de difusión que no recibe la intención
- ¿Cómo liberar el recurso de micrófono cuando otra aplicación de Android lo necesita?
- Android Objetivo de lanzar la aplicación Google+ en la pantalla de Google+ Comunidad
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.
- Finditem () no encuentra el menú, atascado con NullPointerException
- ¿Cómo forzar la desinstalación de la aplicación para actualizarla?