繁体   English   中英

WorkManager如何中断进程

[英]WorkManager how to interrupt process

我有一个对象列表要使用 api 发送到后端,有没有办法中断这个过程。 workManager.cancelAll或 bytag 或 by id 不起作用,因为状态为 RUNNING。 有什么建议么?

class UploadWorker(appContext: Context, workerParams: WorkerParameters)
    : Worker(appContext, workerParams) {

lateinit var DBHelper: DatabaseHelper
val CHANNEL_ID = "UploadOfflinePhoto"
lateinit var offlinePhotoList: MutableList<OfflinePhoto>

lateinit var error: Error
lateinit var resultInfo: Result_Info
lateinit var imageData: Image_Data


var photoCertificatedTail: MutableList<Int> = ArrayList()
var photoNotCertificatedTail: MutableList<Int> = ArrayList()
lateinit var offlinePhotoListToDeleteFlag: MutableList<OfflinePhoto>
var count: Int = 0

companion object {
    private const val WORK_NAME = "UploadOfflinePhoto"
    var workManager = WorkManager.getInstance()
    fun stop(){
        Log.e("WorkInfo", "CANCELL ALL")
        //workManager.cancelAllWork()
    }

}




override fun doWork(): Result {
    // Do the work here--in this case, upload the images.

    DBHelper = DatabaseHelper(applicationContext)
    offlinePhotoList = DBHelper.offlinePhoto

    Log.e("WORK-MANAGER", "${offlinePhotoList.size}")
    if(offlinePhotoList.size > 0){
        uploadOfflineTail(offlinePhotoList[count])
    }




    val output = Data.Builder()
            .putIntArray("photoCertificatedTail",photoCertificatedTail.toIntArray() )
            .putIntArray("photoNotCertificatedTail",photoNotCertificatedTail.toIntArray() )
            .build()


    return Result.success(output)

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM