Как сделать повторный фоновый запрос к серверу в Android O и выше - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть приложение, которое выполняет запрос к серверу каждые 30 секунд.Я делаю это с помощью сервиса.После изменения целевой версии на 26 служба перестает работать в фоновом режиме.Теперь я запускаю службу, используя ContextCompat.startForegroundService (context, startIntent), но этот подход требует отображения уведомления в строке состояния.WorkManager мне не помог, потому что у него минимальный период 15 мин.Есть какой-нибудь способ отправлять фоновые запросы каждые 30 секунд, не показывая уведомления?

1 Ответ

0 голосов
/ 06 декабря 2018

Вы можете использовать RxJava для повторного выполнения задачи.

Observable.timer(30, TimeUnit.SECONDS).subscribeOn(Schedulers.io()).repeat()
                    .observeOn(AndroidSchedulers.mainThread()).subscribe(object : Observer<Long> {
                    override fun onComplete() {}

                    override fun onSubscribe(d: Disposable) {}

                    override fun onNext(t: Long) {
                       //do your task
                    }

                    override fun onError(e: Throwable) {}
                })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...