Простое, но длинное и тяжелое решение - добавить слой абстракции над монитором состояния Wi-Fi-соединения.
Добавьте сущность (NetworkStateManager), если она должна быть синглтоном области приложения (см. RoboGuice или Dagger, или обратитесь к уникальному экземпляру через экземпляр вашего приложения).
Добавьте методы для регистрации, отмены регистрации прослушивателей для этой сущности, используя шаблон проектирования Observable Observer.
Каждое действие должно быть зарегистрировано во время onStart, отменить регистрацию в onStop.
Сам объект будет изменен BroadCastReceiver.
Это полностью проверяется, если вы используете инфраструктуру DI, вы сможете внедрить управляемую заглушку в ваши действия и посмотреть, как они реагируют на изменения состояния сети.