Llevo dias buscando por los diferentes foros como quitar la pantalla de llamada entrante y poner la mia propia. He probado de todo pero siempre impera la propia pantalla de android sobre la mia y solo me la muestra al terminar esta.
Interceptar la llamada entrante es facil con la libreria Phone, creas un servicio y lo haces asi:
B4X:
Sub Process_Globals
Dim PE As PhoneEvents
Dim PhoneId As PhoneId
Sub Service_Create
PE.InitializeWithPhoneState("PE",PhoneId)
Sub PE_PhoneStateChanged (State As String, IncomingNumber As String, Intent As Intent)
Select State
Case "IDLE" ' inactivo
Case "RINGING" ' Llamada entrante
' aqui haces tu codigo
' En IncomingNumber viene el número que llama por si quieres filtrar o hacer algo en concreto con ese número
End Select
End Sub