Dato che tanto io rispondo a tutti, anche quando non so le cose... rispondo
Premesso che io il TELEFONO mobile/cellulare/smartphone non lo uso quasi mai come telefono (hehehe, roba da matti) e non ho un auricolare Bluetooth (quindi che cacchius rispondo a fare? Non lo so!),
posso solo dirti che è possibile intercettare le chiamate in arrivo e anche "sovrapporre" una activity a quella che tu hai chiamato "schermata del ringing" (che nemmeno io so come chiamare, quindi chiamiamola così).
Questa parte è servita ad un altro nostro amico italiano e, grazie ad Erel, è stata risolta.
In pratica si usa un modulo Service con un oggetto PhoneEvents ed un timer.
Quando si scatena un evento per il cambio di stato del telefono (PhoneStateChanged), ovvero arriva una telefonata, si abilita il timer per circa 1.5 sec., giusto il tempo di far apparire la "schermata del ringing", e poi, nell'evento del timer, si disabilita il timer e si lancia l'activity che vogliamo sovrapporre alla "sch. d. ring." (StartActivity(Main), ad esempio).
Per il resto, spero che ti aiutino altri; ora
provo a scrivere qualche riga di codice per me stesso