在使用RxJava+Retrofit进行文件下载,下面这段代码在第一个文件下载时,可以调用并下载成功,但在第二个文件下载时,没有被调用到,找了好久没有找到原因。(netWorkApi--是声明的Retrofit接口对象,里面是一些URL调用方法)
netWorkApi.download(url)
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.retryWhen(RetryWhenNetworkException())
.map(object : Func1<ResponseBody, Int> {
override fun call(responseBody: ResponseBody): Int {
Logger.t(TAG).d("write2File")
return write2File(responseBody, name)
}
}
)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(downloadSubscriber)
直接第一次调用的时候用第二次的URL看能否成功
抓包看下,第二次请求是否发出,收到的返回码是什么
应该是Subscriber复用导致的问题
问题已解决,多谢各位的热心回答
既然问题已经解决了,可以采纳我吗?