Como finalizar meu BroadCastReceive?

Eu sei que preciso chamar o método onDestroy e cancelDiscovery(); o proble é que não sei onde devo chamar esses dois métodos!

/*
*Estou estudando aquele exemplo de conexão bluetooth no site do developers da google, e eu preciso interromper o    
*processo de busca assim que o 1 dispositivo for encontrado.
*/
else if (iniciar == true) {
        boolean m = bluetooth.startDiscovery();
        Toast.makeText(getApplication(), "Iniciando descoberta", Toast.LENGTH_SHORT).show();
        final BroadcastReceiver mReceiver = new BroadcastReceiver() {
            public void onReceive(Context context, Intent intent) {
                String action = intent.getAction();
                if (BluetoothDevice.ACTION_FOUND.equals(action)) {
                    BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                    InfoDevice mInfoDevice = new InfoDevice();
                    mInfoDevice.setNome(device.getName());
                    mInfoDevice.setMac(device.getAddress());
                    try {
                        Log.i("Pocesso de ADD ", " Iniciado");
                        listaDescobertos.add(mInfoDevice);
                    } catch (Exception e) {
                        Log.i("Erro", "Tiopo: " + " Ao sInserir device descoberto");
                        e.printStackTrace();
                    }
                }
            }
        };
        IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
        registerReceiver(mReceiver, filter);
    }