Pregunta

Necesito obtener el número que llamo desde mi dispositivo Android programáticamente. Lo que estoy haciendo ahora es lo siguiente:

Yo escucho android.intent.action.PHONE_STATE siendo transmitido, lo que significa que me llaman o estoy llamando (o recibiendo un SMS, etc.).

en un BroadcastReceiver Recupero el extra incoming_number de la intención. Lamentablemente no puedo obtener el número que se llama si yo Inicia la llamada. ¿Cómo puedo hacer esto?

¿Fue útil?

Solución

Necesitas usar la intención android.intent.action.NEW_OUTGOING_CALL En esta intención puedes obtener el extra Intent.EXTRA_PHONE_NUMBER que contiene el número saliente.

La intención se emite si se intateja una nueva llamada saliente.

Necesitarás el permiso android.permission.PROCESS_OUTGOING_CALLS para esto.

Espero que ayude.

Otros consejos

@Override
public void onReceive(Context context, Intent intent) {
    String phonenumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
    Log.d("OutgoingCallReceiver",phonenumber);
    Log.d("OutgoingCallReceiver",intent.getExtras().toString());
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top