Observable.interval не работает, когда приложение находится в фоновом режиме - PullRequest
0 голосов
/ 05 октября 2018

Использование rxjava2 (2.1.8) Observable.interval для вызова RESTful API каждые 13 минут.Это работает нормально, если приложение работает на переднем плане и не работает, когда приложение находится в фоновом режиме.Я не могу опубликовать весь код из-за ограничений.

Observable.interval(13, TimeUnit.Milliseconds)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(...

Очень ценю ваши предложения

1 Ответ

0 голосов
/ 05 октября 2018

Для длительной работы ваш код должен быть выполнен в Service.Есть, однако, некоторые ограничения , представленные в Android 8, которые вы можете проверить.

Однако вы можете запланировать свою задачу, используя AmarmManager или лучшую альтернативу: [JobScheduler][2],С помощью JobScheduler вы также можете определить критерии, которым необходимо соответствовать для выполнения ваших задач.

ПРИМЕЧАНИЕ : .interval(13, TimeUnit.Milliseconds) означает, что один элемент отправляется каждые 13 миллисекунд, а не минут!

...