关于Observable interval定时任务停止问题
本文不分析操作符的使用方法,主要分析interval轮询中如何来停止。 最近在项目中使用RxJava,RxAndroid;主要运用于网络请求,但是项目中有用到定时任务,每隔20s去更新数据,因此想到RxJava中有定时器操作符,再加上已经引入RxJava,链式请求就完成了,详见代码: Observable.interval(0, 20, TimeUnit.SECONDS) .doOnSubscribe { mDisposable = it } .flatMap { return@flatMap DataUtils.API_SERVICE.getQrCode(userId) } .map { val body = it.string() val str = body.substring(body.indexOf(",") + 1) val decodedString = Base64.decode(str, Base64.DEFAULT) return@map BitmapFactory.decodeByteArray(decodedString, 0, decodedString.size) } .compose(ThreadFromUtils.defaultSchedulers()) .subscribe({ dismissProgressDialog() qr_code