Android: ¿Presentar una notificación durante una llamada?

Tengo un receptor de transmisión que escucha las llamadas entrantes. Y quiero modificar la pantalla de llamadas entrantes. En este momento puedo presentar tostadas y agregar notificaciones a la barra de notificaciones (por cierto, el usuario no puede bajarla porque la pantalla está bloqueada, antes de aceptar la llamada, lo que apesta). Traté de mostrar una alerta pero se bloqueó, ¿no está permitido? ¿Hay alguna manera de que el código en el receptor de transmisión haga otras cosas, como cambiar el avatar de la persona que llama o darle un nombre (incluso si no existe en los contactos)? Digamos que mi receptor de transmisión intercepta una llamada: ¿puede agregar el número de teléfono y un avatar personalizado a los contactos para que se presenten inmediatamente en la pantalla de llamadas?

¿Qué piensas

Edita

He probado el código del proveedor y funcionó, pero no es seguro cambiar la interfaz de usuario de un subproceso en segundo plano, por lo que traté de modificar un poco su código para que sea seguro, pero la tostada no aparece por alguna razón. ¿Qué piensas

private Handler handler = new Handler();

    private void showToast() { 
        Thread thread = new Thread(null, doBackgroundThreadProcessing, "Background");
        thread.start();
    }

    private Runnable doBackgroundThreadProcessing = new Runnable() { 
        public void run() {
            backgroundThreadProcessing();
        } 
    };

    private void backgroundThreadProcessing() {
        handler.post(new Runnable() {
            public void run() { 
                int count = 0;
                try{
                    while (count < 10) {
                        toast.show();
                        Thread.sleep(1850);
                        count++;

                    }
                }
                catch(Exception e){

                    Log.e("LongToast", "", e);
                }
            } 
        });
    }