Мой AppWidgetProvider
(который, конечно, BroadcastReceiver
) зарегистрирован получить CONNECTIVITY_CHANGE
, так что я могу обновить виджеты, как только будет восстановлена сеть (правда, только в случае необходимости, т.е. если предыдущий обновление было упущено из-за отсутствия подключения).Android N: дело с отсутствием CONNECTIVITY_CHANGE
Но, как указано here, это уже не будет возможным в Android N. Предложение заключается в том, чтобы использовать JobScheduler
, который позволяет указать, что работы должны выполняться только при подключении к сети посредством метода .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.
Однако я не вижу, как это можно использовать для повторения моего желаемого поведения. Мне кажется, что метод .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
приведет к тому, что задание не будет запущено вообще, если в то время, когда запланировано задание, нет сети, и оно будет не, заставив Работу терпеливо ждать, пока не появится сеть и затем запустите (что мне и нужно).
Итак, как мне сохранить поведение, в котором я нуждаюсь, с Android N?
Вы также можете воспользоваться диспетчером пожарной базы, если хотите. Он обратно совместим. – Embydextrous
Кроме того, вы можете продолжать работу по перезагрузке устройства. – Embydextrous