Я хотел бы определить, когда происходит изменение сети (подключение / отключение), когда мое приложение не на переднем плане , поэтому я могу синхронизировать данные пользователя.
Iпытался использовать broadcast receiver
(как в этом ответе), но широковещательные сообщения больше не принимаются, когда приложение закрывается (после Android N
).Это работает только тогда, когда приложение находится на переднем плане.
Чтобы обнаружить изменение подключения в фоновом режиме, я попытался использовать Job Scheduler
(как в этот ответ) с.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
, но моя проблема в том, что работа выполняется периодически (каждые 15 минут), даже когда пользователь все еще подключен к Интернету.
Моя цель - выполнить задание один раз при восстановлении интернет-соединения, а затем остановить задание, пока пользователь не отключится и снова не подключится.Задание должно быть выполнено один раз для каждого подключения к Интернету, а затем дождаться повторного подключения (не повторяя его).
Возможно ли достичь этого с помощью Job Scheduler
(или любым другим способом)?