Android Broadcast Receiver не работает, если сетевое соединение потеряно?

У меня есть служба, и я использую широковещательный приемник для связи между моей деятельностью и службой. Когда я прерываю свое сетевое соединение, отключая Wi-Fi и мобильные данные, мой широковещательный приемник больше не вызывает метод onReceive(). Это нормально и есть ли обходной путь?


person Mike6679    schedule 22.10.2013    source источник
comment
Невозможно ответить без кода. BroadcastReceivers не имеют ничего общего с вашим сетевым подключением (кроме, конечно, если вы регистрируете приемник для изменения состояния сети). Я предполагаю, что ваш код не работает ... пожалуйста, опубликуйте его.   -  person 323go    schedule 22.10.2013
comment
По сути, я хотел знать, повлияет ли потеря моего сетевого подключения на мой широковещательный приемник, и вы ответили на это. Итак, теперь я знаю, что проблема в моем коде, и я могу отладить ее...   -  person Mike6679    schedule 23.10.2013


Ответы (1)


Происходило то, что когда сетевое соединение было разорвано (Wi-Fi или мобильные данные), мое переопределение onStop() вызывалось в моем действии, которое запускало службу. В методе onStop() я отменял регистрацию своего широковещательного приемника... поэтому после того, как я потерял сетевое соединение, я больше не мог обмениваться данными со своей службой с родительской активностью.
Может быть, кто-нибудь может объяснить, почему onStop() вызывается при потере сетевого соединения...

person Mike6679    schedule 23.10.2013
comment
Это может быть отдельный вопрос там. Вряд ли кто-то прочитает вопрос, скрытый в вашем ответе. - person 323go; 23.10.2013