Фрагмент оживает после остановки - PullRequest
0 голосов
/ 01 мая 2018

Я работаю над приложением для Android, которое работает примерно так:
Есть два вида деятельности.
Активность А ведет к активности Б.
При нажатии обратно из действия B пользователь возвращается к действию A.

У меня есть слушатели, слушающие интернет-соединение на фрагменте Занятия B.
Если я нажимаю кнопку «Назад» из действия B после продолжительного пребывания в B, приложение вылетает сразу после перехода к мероприятию A.
При просмотре журналов ошибок я убедился, что действие B приостановлено, действие A возобновлено и что фрагмент в действии B остановлен. Но я также мог видеть, что интернет-слушатели во фрагменте в упражнении B все еще живы даже после возвращения к упражнению A, и поэтому он получает ответ на пинг, и фрагмент, кажется, оживает.
вот сообщение об исключении, которое я получил:

main Thread [main, 5, main] Запрещен вызов от неизвестного слушателя уведомлений: "android.service.notification.INotificationListener$Stub$Proxy@ecbe517java.lang.SecurityException: запрещен вызов от неизвестного слушателя уведомлений: android. service.notification.INotificationListener$Stub$Proxy@ecbe517"

В методе onStop() моего фрагмента я сделал что-то вроде этого:

myContext.unregisterReceiver(myReceiver) . 

myWifiScanner.pause()

myHandler.quitSafely()

Я понял, что это проблема. Как я могу это исправить?
Я попытался удалить все обратные вызовы из всех обработчиков, участвующих во фрагменте.

1 Ответ

0 голосов
/ 01 мая 2018

Посмотрите на жизненный цикл вашей деятельности. При переходе от одного к другому убедитесь, что вы приостанавливаете или уничтожаете свои действия.

https://developer.android.com/guide/components/activities/activity-lifecycle.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...