我有一个应用程序每30秒向服务器发送一次请求。我使用服务。将目标版本更改为26后,服务将在后台停止运行。现在,我使用ContextCompat.startForegroundService(context,startIntent)启动服务,但是这种方法需要在状态栏中显示通知。 WorkManager并没有帮助我,因为它的最短时间为15分钟。有某种方法可以每30秒发出一次后台请求而不会显示通知吗?
答案 0 :(得分:3)
您可以使用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) {}
})