How to unregister receiver attached to LocalBroadcastManager?
I tried
unregisterReceiver(broadcastReceiver);
but it gave me an exception
java.lang.IllegalArgumentException: Receiver not registered:
This is my code
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
LocalBroadcastManager.getInstance(this).registerReceiver(broadcastReceiverCancelPd, new IntentFilter(PelicanApplication.identifierCancelPd));
LocalBroadcastManager.getInstance(this).registerReceiver(bReceiverSignOut, new IntentFilter(PelicanApplication.identifierSignOut));
LocalBroadcastManager.getInstance(this).registerReceiver(bReceiverNearByDeliveries, new IntentFilter(PelicanApplication.identifierNBD));
}
@Override
protected void onStop() {
super.onStop();
unregisterReceiver(broadcastReceiverCancelPd);
unregisterReceiver(bReceiverSignOut);
unregisterReceiver(bReceiverNearByDeliveries);
}
Calling unregisterReceiver()
like you are is calling that method on the current Context, rather than the LocalBroadcastManager. You need to call LocalBroadcastManager.getInstance(this).unregisterReceiver();
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With