сервисе ?
Есть сервис по обновлению локальной бд, там происходит множество запросов в сеть и соответственно обработка
отсутствие соединения на первом плане.
Решение было очевидно, я зарегестрировал слушателя на отсутствие и присутствие сети, ловил исключения в catch,
запускал пустой цикл while который проверял boolean состояния сети, если сеть появилась - то работаем дальше.
Но вот проблема которую нашёл - когда в блоке catch опять происходит сбой сети то перехватывать уже некому, соответственно вылетает в глобальный обработчик исключений.
Не понятно как быть, скорее всего мой вариант не верный и возможно имеется более современный подход.
Я бы броадкастом сделал
tail rec fun напиши просто
Сеть может отвалиться в любой момент после проверки ее наличия и в процессе работы с сетью. Поэтому проверять ее наличие в надежде, что дальше все будет хорошо, бессмысленно. Можно просто периодически пытаться делать необходимый сетевой запрос.
Видишь в андроид коде пустой цикл while - все. Дальше не читаем. Расстрелять!
да и вне андроида, тащемта, тоже
А если сеть появилась и тут же пропала, то что делаем? 😏
У меня есть условное stateflow в котором состояние сети. Когда нужно что-то делать при появлении/пропадании сети я использую collectLatest { код } так что при изменении состояния старый collect блок отменяется со всеми вытекающими
Обсуждают сегодня