Obtenga el número que llamo en Android
-
26-10-2019 - |
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?
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());
}