Intercettare chiamata

interceptcall

Per intercettare una chiamata dobbiamo utilizzare sempre il solito listener, in questo caso
PhoneStateListener
Come dice il nome, servirà ad intercettare un cambiamento nello stato del telefono.

Il layout, sempre di appoggio, è composto da una etichetta di testo per visualizzare il numero della chiamata ricevuta.

La parte di codice di analizzare è quella relativa al CallListener, un oggetto PhoneStateListener, che servirà ad intercettare, tramite l’evento onCallStateChanged, se avviene un cambiamento di stato.
Quando verrà intercettato uno stato CALL_STATE_RINGING, significa che stiamo ricevendo una chiamata.
Il numero della chiamata è argomento dell’evento onCallStateChanged e lo visualizzeremo a video. Anche qui ci vorrà un permesso per poter leggere lo stato del telefono.

Una particolarità del plugin Android dell’ambiente Eclipse è quella di poter effettuare finte chiamate o inviare finti sms, con EmulatorControl, in modo da poter testare con facilità le applicazioni sulla macchina virtuale Android.

callmanager

Se non è presente, basta andarlo a selezionare da Windows → Show View → Other. Nella lista che comparirà ci sarà il suddetto componente.

Esempio
interceptcall