Receptor de difusión para llamadas perdidas en Android

¿Alguien sabe cuál es la intención de la llamada perdida? En realidad, quiero enviar sms por llamada perdida y llamada entrante en mi aplicación.

No hay transmisión específica para una llamada perdida, AFAIK.

Puede ver las transmisiones de ACTION_PHONE_STATE_CHANGED , esperar hasta que el teléfono EXTRA_STATE_RINGING de EXTRA_STATE_RINGING a EXTRA_STATE_IDLE , luego intente comprobar el proveedor de contenido de CallLog para ver si se olvidó la llamada. No he probado esta técnica, pero podría funcionar.

Debes usar ContentObserver

 public class MissedCallsContentObserver extends ContentObserver { public MissedCallsContentObserver() { super(null); } @Override public void onChange(boolean selfChange) { Cursor cursor = getContentResolver().query( Calls.CONTENT_URI, null, Calls.TYPE + " = ? AND " + Calls.NEW + " = ?", new String[] { Integer.toString(Calls.MISSED_TYPE), "1" }, Calls.DATE + " DESC "); //this is the number of missed calls //for your case you may need to track this number //so that you can figure out when it changes cursor.getCount(); cursor.close(); } } 

Desde su aplicación, solo necesita hacer esto:

 MissedCallsContentObserver mcco = new MissedCallsContentObserver(); getApplicationContext().getContentResolver().registerContentObserver(Calls.CONTENT_URI, true, mcco);