Я планирую работу, используя работу Планировщик службы. Условием для начала моей работы является наличие любого network(setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY))
. В первый раз я планирую задание с пользовательского ввода (скажем: нажатие кнопки), поэтому, когда пользователь нажимает кнопку, как только сеть будет доступна, моя работа начнется.
Планировщик приложений для Android: выполняйте задание, когда есть сеть данных
Мой вопрос: моя работа должна начинаться без ввода пользователем в течение последующего времени. Это возможно? Если да, пожалуйста, предложите.
(я не хочу слушать изменения сетевого слушателя. Так как она имеет некоторые ограничения с Android N и выше)
Согласно моему пониманию, setPeriodic будет выполнять задание после определенного времени, а не сразу, как только сеть будет доступна. Мне нужно выполнить свою задачу, как только сеть будет доступна. – user2724311
Как насчет объединения ее с setMinimumLatency (long minLatencyMillis)? Это минус-время, которое должно быть передано перед выполнением задачи. Думаю, пока нет сети, она не будет выполнена. Как только сеть вернется и прошло минус-время, она выполнит ее? А потом в jobFinished перепланировать его? – QVDev