发回Android WorkManager的进度

时间:2019-01-06 08:20:26

标签: android android-jetpack android-workmanager

我正在使用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并在调用方中收听它,但这似乎不是一个很好的解决方案! 有没有更好的方法可以实现这一目标?

0 个答案:

没有答案