Clase de receptor Broadcast y método registerReceiver

Hola, estoy tratando de entender Broadcast Receiver, pasé por muchos códigos de muestra, pero todavía tengo algunas dudas. Quería saber cuándo debemos extender la clase de receptor de transmisión y cuándo debemos usarregisterReceiver() Método y cuándo debemos crear objeto para BroadcastReceiver. En algunos programas me encontréregisterReceiver Métodos que se utilizan pero sin ampliar la clase de receptor de difusión. Yo también quería saber cómoonReceive método se llama.

¿Qué enfoque se debe utilizar cuando?

aquí está elregistroReceptor método:

registerReceiver(new BroadcastReceiver() {

            @Override
            public void onReceive(Context context, Intent intent) {
                switch (getResultCode()) {
                ........
                }

            }

        }, new IntentFilter(SENT));

Objeto que se crea paraBroadcastReceiver:

private BroadcastReceiver intentReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        .................
    }

};

Respuestas a la pregunta(3)

Su respuesta a la pregunta