我正在使用Android WorkManager version 1.0.0-beta-01
将一些文件上传到服务器。现在,我想将上传进度(不只是最终结果)发回给调用者。
class UploadWorker @Inject constructor(context: Application,
parameters: WorkerParameters,
private val uploadService: UploadService)
: RxWorker(context, parameters) {
@SuppressLint("CheckResult")
override fun createWork(): Single<Result> {
val filePath = inputData.getString(FILE_PATH)
//logic for sending files goes here where I want to send back the progress
return Single.just(Result.success())
}
}
我可以通过在应用中的某个位置放置一个LiveData实现单例对象,然后从Work更新LiveData并在调用方中收听它,但这似乎不是一个很好的解决方案! 有没有更好的方法可以实现这一目标?