work // Enqueue your work WorkManager.getInstance() .enqueue(compressionWork) // Query work status with LiveData<WorkStatus> WorkManager.getInstance() .getStatusById(compressionWork.id) .observe(lifecycleOwner, Observer { workStatus -> // Do something with the status if (workStatus != null && workStatus.state.isFinished) { // ... } }) // Cancel your work WorkManager.getInstance() .cancelWorkById(compressionWorkId)