Classe Receiver Receiver e método registerReceiver

Oi eu estou tentando entender Broadcast Receiver, eu passei por muitos códigos de exemplo, mas ainda tenho algumas dúvidas. Eu queria saber quando temos que estender a classe Broadcast Receiver e quando devemos usarregisterReceiver() método e quando devemos criar objeto para BroadcastReceiver. Em alguns programas me depareiregisterReceiver métodos sendo usados, mas sem estender a classe do Receptor de Transmissão. Eu também queria saber comoonReceive método é chamado.

Qual abordagem deve ser usada quando?

aqui está oregisterReceiver método:

registerReceiver(new BroadcastReceiver() {

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

            }

        }, new IntentFilter(SENT));

Objeto sendo criado paraBroadcastReceiver:

private BroadcastReceiver intentReceiver = new BroadcastReceiver() {

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

};

questionAnswers(3)

yourAnswerToTheQuestion